【发布时间】:2017-11-26 03:26:48
【问题描述】:
所以我想知道是否有人可以帮助我了解我在 Python 中正在做的事情。
我正在创建一个带有与串行设备交互的 Tkinter GUI 界面的程序,以及一个用于测量电压的 ADC 芯片。我想确保我正确理解我是如何构建主程序循环以保持一切顺利运行的。我将列出我认为程序应该如何运行,如果有人有任何更正,请向我提出。
- 程序运行,GUI 界面初始化
- 用户按下按钮
- 通过串口发送按键信号
- 测量/显示电压水平
- 定期更新电压显示
- 如果按下按钮,返回步骤 3
现在我知道要运行我的 Tkinter GUI,我将 mainloop() 设置为最后一行代码。现在我的问题很简单,这就是我所需要的吗? mainloop() 会在等待另一个按钮按下时不断更新,还是我必须创建一个更新方法来循环遍历所有内容,直到按下另一个按钮?
【问题讨论】:
-
“或者我是否必须创建一个更新方法来循环遍历所有内容,直到按下另一个按钮?” - 不是全部。这就是您使用
Tk().mainloop()的原因。tkinter为你做这件事。您所要做的就是实现按下按钮时应该发生的功能。tkinter将为您监听按钮按下。 -
@ChristianDean 您应该将此作为答案发布。解释得很好。
-
@ChristianDean 因此,如果我希望程序在按下按钮后每秒更新电压(同时等待按下另一个按钮),我不需要
while buttonPressed循环或任何东西? -
@Skitzafreak 是的,这是正确的。你只需要让
tkinter知道当它“听到”按钮按下时你想要发生什么。tkinter会为你做所有的事件循环监听。