我在做一个节目中,我使用的是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