Qt中MovetoThread()中的对象不能有父类问题

在Qt中比如

点击查看代码
class A:QObject
{
  A(QObject*parent=nullptr);
}
class B:QObject
{
  A*m_worker;
  QThread *thread;
}
this->m_work=new A(this);
this->m_work.MovetoThread(thread);
这样做编译是不会出错的,但是运行起来的话就会造成卡顿 Qt 规则:当 QObject 有 parent 时,不能使用 moveToThread 移动到另一个线程。 所以如果要 moveToThread ,那个类就不能有parent,这样我们就必须手动进行释放内存,不能再通过对象树管理内存了

posted on 2026-07-30 14:25  dd_l  阅读(3)  评论(0)    收藏  举报