简体   繁体   English

根据 if 语句更改 Tkinter 标签文本?

[英]Change Tkinter label text based on if-statement?

I am trying to create a simple GUI using Tkinter.我正在尝试使用 Tkinter 创建一个简单的 GUI。 I created a label with a text.我创建了一个带有文本的标签。 This text should be changed when a button (physical) is pressed.当按下按钮(物理)时,应更改此文本。 I read about using the after() method, but it only runs a method ones, it should always check for user input.我读过使用 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()

You don't know what is a loop ?你不知道什么是循环? you can try with你可以试试

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()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM