我想每1秒刷新一次python Tkinter窗口:
animation=TFS(test) #animation is a list, each item in the list is a table with drawing input information.
for item in animation:
Display(item) #display function is creating a Tkinter window with a mainloop
time.sleep(1)
我在互联网上找到的关于为Tkinter关闭主循环的唯一解决方案是在按钮中使用.quit()或.destroy()。
但是我不希望用户手动关闭窗口,该窗口应该每隔x秒自动关闭一次,以便能够显示具有更新信息的新窗口。
注意:显示器由大约200个矩形和标签组成。
答案 0 :(得分:0)
可以在代码中的任何位置调用.destroy()
方法,而不必在按下按钮时调用。要关闭该窗口,必须在Tk
对象(主窗口,您创建的第一个窗口)上调用它。但是,就像@Billal BEGUERADJ所说的那样,您无需关闭窗口即可刷新其中的小部件。只需在您要修改的小部件上调用.config()
方法,然后将要更改的选项作为参数传递即可。
答案 1 :(得分:0)
画布中的显示是具有数百种形状的程序,因此.configure
似乎很难使用。
所以我删除了Display函数中的.mainloop()
并替换为:
TK.update()
time.sleep(RefreshTime)
TK.destroy()
return
并将主要代码更改为以下内容:
animation=TFS(test)
for step in animation:
Display.display(step,RefreshTime)