MyThread类继承Qthread,MyThread包含一个OBJECT类,QObject: Cannot create children for a parent that is in a different thread. (Parent is IEC104Master(0x3258a00), parent's thread is QThread(0x243c4009f0)), current thread is MyThread(0x3258 xiancheng id 0x7fd2117fa700
时间: 2023-08-24 08:04:27 浏览: 76
以文件复制为例将继承QThread、QObject,两种Qt多线程方式作简单对比
这个错误提示是因为您在一个线程中创建了一个QObject对象,但是您试图将其分配给另一个线程的QObject作为父对象,这是不允许的。QObject可以作为父对象,但是父对象和其子对象必须在同一个线程中。
解决这个问题的方法是,在MyThread中创建您的QObject对象,并将其设置为MyThread的成员变量,而不是作为其父对象。如果您需要在其他线程中使用这个QObject对象,您可以使用Qt的信号和槽机制来实现线程之间的通信。例如,您可以在MyThread中定义一个信号,然后在其他线程中连接这个信号,以便在MyThread中产生一个事件时,其他线程可以收到通知并执行相应的操作。
阅读全文