【问题标题】:Background process and tkinter后台进程和 tkinter
【发布时间】:2018-05-03 17:27:09
【问题描述】:
寻找从哪里开始的帮助,对 Python 不太好。我试图做的是使用 tkinter 作为 gui 界面,但我需要能够处理收到的数据并随着信息的变化更新标签小部件。我已经准备好让程序的通信部分在 shell 中正常工作,但是当我尝试将其绑定到 tkinter 时,它会在生成接口后立即停止处理。任何人都有一个简单的代码供我修改以满足我的需求,或者将我指向某个地方的参考示例。到目前为止花了几天时间尝试不同的选择,但我仍然没有找到可行的方法。
感谢您的帮助
【问题讨论】:
标签:
python
tkinter
python-3.6
【解决方案1】:
将您的工作程序转换为可以在 tkinter UI 中注册为回调的函数(例如按钮或其他小部件),也就是说,使其成为事件驱动的,然后,为后台处理注册一些函数after 小部件方法。 root.mainloop() 永远不会返回(仅在 UI 关闭时),将其用作最后一条指令。
因此,您不能只以自上而下的结构编写逻辑,并希望它能与 UI 很好地配合使用。主循环将永久循环,并将根据从用户接收到的事件或您使用after 注册在一段时间后运行的回调调用代码中的特定函数。
有关after 部分,请参阅here
查看here 以了解如何构建 tkinter 程序。它应该有足够的信息和链接供您学习和学习如何以正确的方式进行操作。