gpt4 book ai didi

python - 为什么在创建辅助QObject时QThread对象没有完成信号?

转载 作者:行者123 更新时间:2023-12-03 13:23:28 24 4
gpt4 key购买 nike

我知道有两种使用QThreads的多线程方法,一种是将QThread子类化并覆盖run()方法,另一种是创建QObject类并将其实例移至QThread。据说后者是一种更好的做法。
我发现子类化QThread确实提供了可以使用的finished方法,但是当创建一个单独的QObject作为辅助线程时,QThread将不再发出finished信号。似乎QThrean run方法创建了一个事件循环,当重新实现该循环时,将返回该函数并发出finished信号。但是对于 worker 类,我们将需要在QThread对象上调用quit()方法。
这样对吗?它不会使子类化QThread使用起来更加灵活吗?

最佳答案

覆盖run方法后,将在此处实现逻辑,以便您知道何时结束,但是在将QObject移至QThread的情况下,无法确定QObject逻辑何时完成执行。
另一种选择是创建一个完成信号,当您考虑到QObject逻辑结束时发出该信号。

关于python - 为什么在创建辅助QObject时QThread对象没有完成信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62555486/

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