3
我有一個發出finished()信號的QThread,但它的isFinished()返回False。 這是爲什麼?如何知道什麼時候isFinished將開始返回True?QThread.isFinished在連接到finished()信號的槽中返回False
from __future__ import print_function
from PySide import QtCore, QtGui
qapp = QtGui.QApplication([])
worker_thread = QtCore.QThread()
worker_thread.start()
worker_thread.quit()
def fin():
print('isFinished:', worker_thread.isFinished())
worker_thread.finished.connect(fin)
QtCore.QTimer.singleShot(200, qapp.quit)
qapp.exec_()
有時它返回true,但大部分時間它輸出:
isFinished:假
答案在另一個SO問題(QThread emits finished() signal but isRunning() returns true and isFinished() returns false)認爲它應該是這樣的:
- 此時,isFinished()應該開始返回true並且isRunning()爲false。
- 內部發出完成的()信號。
- PY 2.7.4
- PySide 1.1.2
- 的Qt 4.8.2
也與PyQt4的測試
是啊,看起來像。我認爲你可以將這個答案標記爲正確的。 – lpapp