步骤:
1、创建一个自定义Worker类,继承自QObject
2、主线程中创建QThread的对象,Worker类的对象(该对象不能指定父指针,否则还是会在当前线程)
3、Worker类的对象调用moveToThread函数移动到QThread的对象中
4、主线程自定义一个信号,并使用信号槽连接到worker类对象的任务函数
5、一定要记得启动线程
6、主线程发射自定义的信号,触发worker类对象的任务函数,这个函数就会在子线程中执行
7、凡是通过信号触发Worker类的函数(包括Worker内部用信号触发lambda表达式) ,对应函数都会在子线程中执行
8、找一个合适的时机或位置完成线程的退出和清理
如下面的例子
点击按钮,ui发射自定义信号,触发Worker的工作函数(工作在子线程中),然后Worker发射信号,主线程更新Label的值


最低0.47元/天 解锁文章
2247

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



