python - 根据 if 语句更改 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()
解决方案
你不知道什么是循环?你可以试试
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()
推荐阅读
- c# - 将 OracleRefCursor 转换为自定义 C# 对象列表
- machine-learning - 如何加快对 6,100,000 个特征的递归特征消除?
- windows - md5sum 抱怨回车符
- javascript - 为什么 npm run serve 在 Vue.js 上构建缓慢?
- microsoft-graph-api - 通过 MS GraphAPI 获取新电子邮件发送的状态
- python-3.x - CNN输出准确率低于50%
- c# - if/else 在两个不同的 for 循环中迭代相同的变量
- r - 将参数传递给一个函数,该函数由另一个函数在 R 中按其名称调用
- java - RestTemplate 放置方法
- c# - 如何将滚动条添加到富文本框wpf