更改基于if语句的Tkinter标签文本?

时间:2019-01-03 10:15:09

标签: python user-interface tkinter

我正在尝试使用Tkinter创建一个简单的GUI。我创建了一个带有文本的标签。按下按钮(物理)时,应更改此文本。我读过有关使用after()方法的信息,但它仅运行方法方法,它应始终检查用户输入。

while 1:
    root = tk.Tk()
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP)
    input_state = GPIO.input(21)

    menutxt = tk.StringVar()
    menuLabel = tk.Label(root, textvariable=menutxt).pack()

    if input_state == False:
        menutxt.set("TEXT2")
    else:
        menutxt.set("TEXT1")
    root.mainloop()

1 个答案:

答案 0 :(得分:-2)

您不知道什么是循环?您可以尝试

root = tk.Tk()
menutxt = tk.StringVar()
menuLabel = tk.Label(root, textvariable=menutxt).pack()
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while 1:
    input_state = GPIO.input(21)
    if input_state == False:
        menutxt.set("TEXT2")
    else:
        menutxt.set("TEXT1")
root.mainloop()