QThread thread = new QThread();
MyObject object = new MyObject();//MyObjec的基类不能是界面类(QWidget),基类需要是QObject
object->moveToThread(thread);
thread->start();
connect(xxxxx,signal,object,slot);
只有使用信号槽的方式时,slot运行在子线程thread中
使用lamda表达式的connect时,在主线程运行,直接调用slot也在主线程运行
若slot中需要传参数,需要定义一个同形参类型的signal,绑定后,在调用signal,slot就可以跑在子线程中了
Qt MoveToThread的使用方法
最新推荐文章于 2025-07-23 20:35:59 发布
本文介绍如何在Qt中实现多线程通信,包括创建线程、将对象移动到线程、启动线程,并通过信号与槽机制实现跨线程通信。此外还探讨了lambda表达式在连接信号与槽时的行为差异。
2262

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



