我有一个执行计算的python脚本,并且为弹出的wxPython进度条创建了一个类。目前我有:
app=wx.App()
progress = ProgressBar()
app.MainLoop()
for i in xrange(len(toBeAnalysed)):
analyse(toBeAnalysed[i])
progress.update(i/len(toBeAnalysed)*100)
现在,由于明显的原因,这个例子不起作用。有什么办法我可以运行应用程序主循环()在另一个线程中,但在计算完成时仍传递进度(和.update()它)?在
谢谢你的帮助。在
您应该在后台线程中运行逻辑,并使用
wx.CallAfter
定期更新GUI。CallAfter
将调用GUI线程上提供的函数,因此进行GUI调用是安全的。在相关问题 更多 >
编程相关推荐