Tkinter可以做到,但请记住,调度的工作方式不同
Tkinter是一个面向GUI的框架,内置了很多功能。在
(Python本身允许您独立于Tkinter进行设计。)在
Tkinter-side timer-based event可以设置,但是如上所述,用户端对定时器的控制是避免的(任何合理的近实时系统都不允许用户去稳定、越不容易阻塞、代码执行流程……)在
所以。Tkinter调度工具基本上是:aTkScheduledEVENTid = .after( msecsAfter, aFun2Bcalled = None, *args )
# use
# for deterministic / set wait-time
aTkDeferredEVENTid = .after_idle( aFun2Bcalled = None, *args )
# use
# for non-deterministic / deferred till state of the GUI control-loop
.after_cancel( { aTkScheduledEVENTid | aTkDeferredEVENTid } )
# use
# upon a need to **cancel**/re-schedule a set execution
独奏叫魔术
一个已调度的函数调用只执行一次,因此在被调用函数内部再次重复调度任务是相当常见的,以便为下一个基于计时器的函数调用重新注册。在
亚瑟在上面贴了一个链接,指向布莱恩·奥克利的代码片段。在
增加一个技巧可以帮助你在真实的负载下了解时间的真实可塑性。在
(某些平台在[msec]-s下不显示时间分辨率)
^{pr2}$