我试图将我的一些代码从Tkinter转换为wxPython。目前我正在尝试创建一个不断循环的函数,并更新时间。但是,我遇到了一些问题。每当我关闭程序时,弹出一个窗口,并给我下面的警告。访问冲突与wxPythons CallLater
Access violation at address 1E058497 in module 'python26.dll'. Read of address 00000008.
这进而导致我的IDE(PyScripter)冻结和崩溃。我认为它可能试图在程序被销毁后调用该函数。这会导致它访问内存中不可用的位置,导致各种各样的乐趣。任何帮助,将不胜感激。
段:
def tick (self):
''' Continually updates the time. '''
TimeStr = '%I:%M %S %p'
DateStr = '%A, %B %d, %Y'
Time = time.strftime(TimeStr)
Date = time.strftime(DateStr)
self.TimeDate = Time + '\t\t' + Date
self.ST.SetLabel(self.TimeDate)
wx.CallLater(1000, self.tick)
在Tkinter的版本wx.CallLater(1000,self.tick)用。经过(1000,self.tick)取代的,如果没有什么帮助。
编辑:
我试图在空闲和它似乎工作。然而,在PyScripter中没有运气。
你叫这个打勾方法?当MainLoop退出时,您是否终止循环调用? – kakarukeys 2011-03-06 09:19:01