问题描述
我有一个带有python API的Windows应用程序(支持python 3)。您可以提供具有主要功能的类。在程序启动时,将创建此类的实例,并定期调用main函数。我可以配置频率,但是没有别的。 (我无法更改API的工作方式)
现在,我想将tkinter用于某些可视化效果,图表等。这是我当前的类结构的示例:
import tkinter as tk
class Script:
def __init__(self):
self.root = tk.Tk()
self.count = 0
def main(self):
# do some stuff
print(str(self.count))
self.count += 1
# update gui
self.root.update()
# This is to simulate the software behavior.
import time
scriptInstance = Script()
for i in range(0,20 * 10):
scriptInstance.main()
time.sleep(0.1)
我遇到的主要问题是,只要您与Tkinter交互,root.update()方法就会冻结main函数。您可以在上面的示例中看到,只要您移动窗口,该数字就不会递增。有办法防止这种情况吗?
我试图通过另一个线程调用root.update(),该线程不起作用,因为Tkinter不允许这样做。
谢谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)