相关疑难解决方法(0)

"update"和"update_idletasks"之间有什么区别?

effbot.org文档中,我们有关于该update功能的以下内容:

处理所有挂起事件,调用事件回调,完成任何挂起的几何管理,根据需要重绘小部件,以及调用所有挂起的空闲任务.应谨慎使用此方法,因为如果从错误的位置(例如,从事件回调中调用,或者从可以以任何方式从事件回调调用的函数等)调用它,可能会导致非常讨厌的竞争条件).如有疑问,请update_idletasks改用.

另一方面,这是关于update_idletasks功能:

调用所有待处理的空闲任务,而不处理任何其他事件.这可用于在必要时执行几何管理和重绘小部件,而无需调用任何回调.

据我所知,两者都调用所有挂起的空闲任务,完成任何挂起的几何管理根据需要重绘小部件.我看到的唯一区别是update 处理所有挂起事件调用事件回调.update我想这就是为什么我们不应该在一个甚至回调中打电话.

然而,我所看到的例子,其中update_idletasksupdate使用一个接一个,我不能明白其中的道理,因为从理论上讲update做的一切update_idletasks一样.

这些待处理事件究竟是什么以及文档正在讨论的空闲任务?有什么区别和关系?

话虽这么回答,在我应该使用什么是真正的情况updateupdate_idletasks?具体例子也是值得赞赏的.

python tkinter python-3.x

15
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×1

python-3.x ×1

tkinter ×1