Я хочу переключить настоящую кнопку и отобразить ее в графическом интерфейсе tkinter.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Я хочу переключить настоящую кнопку и отобразить ее в графическом интерфейсе tkinter.

Сообщение Anonymous »

Я хочу переключить кнопку и показать ее изменения на метке с помощью tkinter.
Если я нажму кнопку, на метке появится надпись «включено», а когда я нажму еще раз, она отобразится. «Выключено» на этикетке.
Поэтому я пробую эти коды. Если я пробую неправильный код, помогите мне написать правильный с помощью tkinter.
У меня проблема с объединением этого кода

Код: Выделить всё

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setup(22,GPIO.IN,up_down=GPIO.PUD_UP)

while(1):
if GPIO.input(22)==1:
if bs == False :
x.set("on")
bs=True
sleep(0.5)
else:
x.set("off")
bs=False
sleep(0.5)
Это работает нормально, но я хочу подключить его к метке графического интерфейса, чтобы печатать на ней или нет.
Вот код tkinter
p>

Код: Выделить всё

import tkinter.*

root = tk()
x = StringVar()

s=Label(root,textvariable=x)

s.grid(column=0,row=0)

root.mainloop()
Когда я пытаюсь это объединить, я делаю это вот так

Код: Выделить всё

from Tkinter import *
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setup(7,GPIO.IN)

b=False
def check_button1():
if GPIO.input(7)== 1:
if b == False :
labelText1.set("on")
print"on"
b=True
time.sleep(0.5)
else:
labelText1.set("off")
print"off"
b=False
time.sleep(0.5)

mamdouh.after(10,check_button1)

mamdouh = Tk()
labelText1 = StringVar()

x1 = Label(mamdouh,textvariable=labelText1)
x1.config(font=('Helvetica',25,'bold'))
x1.grid(row=0,column=0)

mamdouh.title("mamdouh")
mamdouh.geometry('1200x700')
mamdouh.after(10,check_button1)
mamdouh.mainloop()
но это не сработало, оно остается пустым каждый раз, когда я нажимаю кнопку. Если все работает хорошо, я поставлю 17 кнопок.
I думаю, что проблема в том, чтобы поместить этот оператор if в нужное место и разместить переменную b в нужном месте, и я также думаю, что существует проблема между этим оператором if и tkinter, потому что я попробовал этот код, который работает идеально, но он не переключается кнопка, поэтому я хочу это изменить, давайте добавим этот код здесь также:

Код: Выделить всё

from Tkinter import *
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)
GPIO.setup(7,GPIO.IN)

def check_button1():
if(GPIO.input(7) == GPIO.LOW):
labelText1.set("on")
else:
labelText1.set("off")
mamdouh.after(10,check_button1)

mamdouh = Tk()
labelText1 = StringVar()

x1 = Label(mamdouh,textvariable=labelText1)
x1.config(font=('Helvetica',25,'bold'))
x1.grid(row=0,column=0)

mamdouh.title("mamdouh")
mamdouh.geometry('1200x700')
mamdouh.after(10,check_button1)
mamdouh.mainloop()
Итак, как мне сделать эту кнопку-переключатель на метке?


Подробнее здесь: https://stackoverflow.com/questions/391 ... kinter-gui
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»