我試圖將我的一些代碼從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