我有Python/Tkinter应用程序,在2-3个时间点,锁定主屏幕30秒到几分钟,因为它有很多事情需要做。
我认为,在这些时间点上,如果不是在任务期间锁定主屏幕,而是将应用程序的计算密集型部分从主线程中分离出来,并向用户显示某种类型的反馈,即什么是happening...whether,即模式状态窗口或旋转的猫动画,那么它将是一个更完善的应用程序。
不幸的是,我有点迷茫于什么才是一种干净的方式。
发布于 2017-02-23 16:24:34
你可以查找concurrent.futures,multiprocessing,threading和使用tkinter的.after()方法。我最近在使用concurrent.futures上发布了我的问题和answer。我已经成功地实现了Mark Summerfield的书中描述的模型,我建议您尝试一下concurrent.futures。您仍然需要来自threading和multiprocessing的1到2个命令。我的代码运行良好,tkinter没有延迟问题。注意:这个工作代码比example code in my answer更详细,我用它来说明可以使用python类来托管concurrent.future代码,而不是单独的python文件。希望你能找到适合你编码需求的东西。
碰巧看到与回答您的问题相关的最新答案。使用threading example的.after()。它还有其他的链接。
https://stackoverflow.com/questions/42404837
复制相似问题