了解qthread何时完成
我研究Qthread。当qthread发出信号完成时,我感到困惑。退出运行功能时是否发出结束信号了解qthread何时完成,qt,pyqt,qthread,Qt,Pyqt,Qthread,我研究Qthread。当qthread发出信号完成时,我感到困惑。退出运行功能时是否发出结束信号 class TestThread(QtCore.QThread): customSignal = QtCore.pyqtSignal(['QString']) def __init__(self): QtCore.QThread.__init__(self) def run(self): pri
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函数中,我发出了被其他类截获的自定义信号。在其他类中,我接收到一个信号,并检查Qthread是否正在运行:
print 'TestThread is running? - ', self.myTestTh.isRunning()
有时候它是真的!!!
所以,当运行函数退出时,Qthread似乎不会立即完成
因此,我是否也可以截取一个已完成的信号,以确保Qthread没有运行?Qthread作为一个
finished()
信号,如果希望在线程实际退出时收到通知,您可以侦听该信号
您还可以执行以下操作:
myThread.quit();
myThread.wait();
其中对
wait()
的调用将阻塞,直到线程正确完成。QThread作为finished()
信号,如果希望在线程实际退出时收到通知,则可以侦听该信号
您还可以执行以下操作:
myThread.quit();
myThread.wait();
其中对
wait()
的调用将被阻止,直到线程正确完成。我可以使用myThread.finished.connect(self.method)
在线程完成后执行更新Ui的事件。我可以使用myThread.finished.connect(self.method)
在线程完成后执行更新Ui的事件。