wxpython定时器事件间隔

Kev*_*vin 4 wxpython

我试图用wx python编写一个gui应用程序,我需要控制计时器事件的间隔.这是我目前的代码:

self.timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.on_timer, self.timer)        
self.timer.Start(750) # start timer after a delay
Run Code Online (Sandbox Code Playgroud)

这是正确的框架,但我无法控制EVT_TIMER发生的间隔或频率.我一直试图找出使用wx TimerEvent类但没有任何运气.我觉得这应该是我需要的,但它不起作用:

self.timer = wx.Timer(self)
self.timerEvent = wx.TimerEvent(self.timer.GetId(),10)
self.Bind(wx.EVT_TIMER, self.on_timer, self.timer) 
Run Code Online (Sandbox Code Playgroud)

谢谢!

Mik*_*oll 6

我曾经写过一个关于计时器教程,可能会帮助你解决这个问题.基本上你就像你在第一个代码片段中提到的那样.您必须启动计时器并以毫秒为单位传递一个值.所以1000会= 1秒.你不需要wx.TimerEvent.至少,我从来不需要那样做.

无论如何,在你的例子中,计时器事件每750毫秒触发一次,或者不到一秒钟.我想如果机器的CPU被挂起,它可以中断或延迟定时器事件,但是否则它们非常可靠.