gpt4 book ai didi

c++ - 将 QThread 移动到另一个线程?

转载 作者:行者123 更新时间:2023-11-30 05:43:19 26 4
gpt4 key购买 nike

出于某种原因我需要做:

class A: Public QThread
class B: class A

现在可以做:

B myclass;
myclass.moveToThread(workerThread);

最佳答案

For some reason I need to do:

class A: Public QThread
class B: class A

除非您打算更改 Qt 管理线程的方式,否则我相信您可以避免这种设计。

QThread可以被认为是一个线程 Controller ,而不是线程本身。

正如在这些论坛中多次提到的那样,使用 QThread 的更好设计是创建一个从 QObject 派生的对象并将其移动到 QThread 对象。

请注意,QThread 的实例与创建它的线程具有亲缘关系 ("It is important to remember that a QThread instance lives in the old thread that instantiated it") 。这种设计允许原始线程通过信号和槽与新的 QThread 实例进行通信。因此,从 QThread 继承,从中派生另一个类并将其移动到自身并不是一个好主意!

关于c++ - 将 QThread 移动到另一个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30271518/

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