PySide6 QThread 在 PyCharm 调试模式下的不同行为

问题描述 投票:0回答:0

我正在尝试在 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.

python multithreading pycharm pyside qthread
© www.soinside.com 2019 - 2024. All rights reserved.