gpt4 book ai didi

python - QThread.isFinished 在连接到 finished() 信号的插槽中返回 False

转载 作者:行者123 更新时间:2023-11-28 18:45:34 25 4
gpt4 key购买 nike

我有一个发出 finished() 信号的 QThread,但它的 isFinished() 返回 False。这是为什么?如何知道 isFinished 何时开始返回 True?

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: False

在另一个 SO 问题(QThread emits finished() signal but isRunning() returns true and isFinished() returns false)中的回答表明它应该是这样的:

  1. At this point, isFinished() should start returning true and isRunning() false.
  2. The internals emit the finished() signal.
  • py 2.7.4
  • PySide 1.1.2
  • Qt 4.8.2

也用 PyQt4 测试过

最佳答案

原来这是 qt ( https://bugreports.qt-project.org/browse/QTBUG-30251 ) 中的错误,已在 Qt 4.8.5 中修复。PySide 1.2.1 附带 Qt4.8.5。

关于python - QThread.isFinished 在连接到 finished() 信号的插槽中返回 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com