我正在尝试在 Ui 仍在运行时使用 QThreads 在后台进行一些长时间的计算。我注意到当我在 PyCharm 调试模式下运行程序时,我的线程无法正常工作。这是一个最小的例子:
from PySide6.QtCore import QObject, QThread
class Worker(QObject):
def work(self):
while True:
print("working")
if __name__ == "__main__":
thread = QThread()
worker = Worker()
worker.moveToThread(thread)
thread.started.connect(worker.work)
thread.start()
while True:
print("do other stuff")
当我在没有调试模式的情况下运行这段代码时,它会反复打印“正在工作”和“做其他事情”。当我在调试模式下运行它时,它只打印“做其他事情”。根本不调用工作方法。这里发生了什么?我正在使用 PySide 6.5.0 和 python 3.10.