Python Tkinter 暂停屏幕重绘

Python Tkinter pause screen redraw

我看到几个问题询问如何在 tkinter 中强制重绘屏幕(可以使用 update_idletasks 来完成)。我想做相反的事情:暂停 Tkinter 的自动屏​​幕重绘直到我完成对应用程序进行了一些大手术 window - 在 canvas 上插入、删除、重新定位大量小部件,然后在我完成后激活自动屏幕重绘。这可能吗?我不能找到任何记录在案的方法。我正在使用 Tkinter 和 Python 3.

I would like to do the opposite: suspend Tkinter's automatic screen redrawing until I have completed some major surgery to the application window - insert, delete, reposition a large number of widgets on a canvas, and then activate automatic screen redrawing after I'm done. Is that possible?

是的,这是可能的。这正是 tkinter 默认情况下的工作方式。

Tkinter 在单线程中运行。虽然您的任何代码都是 运行,但 tkinter 无法更新屏幕,除非您明确调用 updateupdate_idletasks 来更新它。