QDialog被隐藏时QThread暂停

时间:2014-01-20 14:35:18

标签: multithreading pyqt4

我正在为QGIS编写一个Python插件(C ++应用程序,使用PyQt4为插件提供Python接口)。我从QThread开始QDialog使用类似下面代码的内容,其中WorkerQObject。这样可以正常工作,除非我在线程完成之前隐藏QDialog执行(使用对话框关闭按钮),线程暂停。如果再次show()对话框,则线程将恢复。

为什么会这样?当对话框关闭时,如何让线程继续运行?

thread = QtCore.QThread(self)
worker = Worker()
worker.moveToThread(thread)
worker.progress.connect(progress.setValue)
thread.started.connect(worker.run)
worker.finished.connect(self.finish)
worker.finished.connect(thread.quit)
worker.finished.connect(worker.deleteLater)
thread.finished.connect(thread.deleteLater)
thread.start()

self.thread = thread
self.worker = worker

0 个答案:

没有答案