wxPython:wx.CallLater很晚

Ram*_*hum 1 wxpython

在我的wxPython应用程序中,我有一个EVT_IDLE处理程序,它调用一个必须每150毫秒左右调用一次的函数.调用该函数后,处理程序调用:

wx.CallLater(150,self._clear_idle_block_and_do)
Run Code Online (Sandbox Code Playgroud)

_clear_idle_block_and_do功能基本上发布了另一个EVT_IDLE事件,继续循环.

现在我注意到当GUI中的其他小部件正在努力工作时,EVT_IDLE事件处理程序几乎不会被调用!有时它不会被召唤4秒,这太过分了.

这是因为wx.CallLater表现不佳吗?有什么我能做的吗?

MSa*_*ers 5

等待需要很长时间,因为它等待空闲时间.显然,如果你有"其他小部件正在努力工作",那么很快就不会有空闲时间.如果您想要定期活动,请使用计时器.