背景:
当前类,编写接收子线程类信号的槽函数和触发子线程类执行的信号;
新建一个子线程类,编写槽函数和信号,MyClass *m_MyClass=new MyClass();
新建一个线程对象QThread *runThread=new QThread();
使用connect连接当前类与子线程的信号槽,以便触发线程及接收线程执行结果;
使用m_MyClass.moveToThread(runThread),将子线程类移到线程中执行;
runThread->start(),开启线程。
**在当前线程的析构函数中,如果先删除runThread再删除m_MyClass,则会出现错误QThread: Destroyed while thread is still running
**正确的写法应该是:
runThread->exit(0);
delete m_MyClass;
delete runThread;
本文详细介绍如何在Qt中实现主线程与子线程之间的通信,包括创建子线程类、信号与槽的连接以及线程的安全销毁等关键步骤。
6804

被折叠的 条评论
为什么被折叠?



