我在做一個節目中,我使用的是wxStatusBar,當下載開始,我開始一個子線程這樣的:線程,wxPython的和狀態
def OnDownload(self, event):
child = threading.Thread(target=self.Download)
child.setDaemon(True)
child.start()
下載是不帶參數的另一個功能(除自)。我想從那裏更新狀態欄,並提供關於下載進度的一些信息,但是當我嘗試這樣做時,我經常會遇到Xwindow,glib和segfaults錯誤。任何想法解決這個問題?
已解決:我只需要在完成之前在線程內的GUI和wx.MutexGuiLeave()更改某些內容之前包含wx.MutexGuiEnter()。例如
def Download(self):
#stuff that doesn't affect the GUI
wx.MutexGuiEnter()
self.SetStatusText("This is a thread")
wx.MutexGuiLeave()
而這一切:d