我研究Qthread。当qthread发出信号结束时,我感到困惑。在运行函数时退出时是否发出信号finished?
class TestThread(QtCore.QThread):
customSignal = QtCore.pyqtSignal(['QString'])
def __init__(self):
QtCore.QThread.__init__(self)
def run(self):
print 'some code in run functions... '
self.customSignal.emit('OK')
print 'after this istruction qthread emit instantly finished signal?'在run函数中,我发出被其他class.In截获的自定义信号,其他类收到信号,并检查Qthread是否正在运行:
print 'TestThread is running? - ', self.myTestTh.isRunning()有时它会打印True!所以,看起来Qthread在run函数退出时并没有立即结束,我可以截取一个结束的信号来确认Qthread没有运行吗?
发布于 2012-03-16 05:58:28
QThread作为一个finished()信号,如果你想在线程实际退出时得到通知,你可以监听它。
你也可以这样做:
myThread.quit();
myThread.wait();在那里,对wait()的调用将被阻塞,直到您的线程正确完成。
https://stackoverflow.com/questions/9727113
复制相似问题