Qt 中通过 moveToThread
方式来实现的多线程之间数据交互一般是通过信号槽来进行的,信号槽不仅可以用于同一个线程中,也可以用于多线程之间,当用于多线程之间时,其连接方式为 Qt::QueuedConnection
,即队列连接。
多线程之间建立的信号槽主要为如下两个:
- 主线程发送信号:来触发子线程的槽函数;子线程接受该信号:开始执行复杂的槽函数
connect(this, &MainWindow::SigStartDoWorkA, myWork, &MyWork::OnDoWorkA)
- 子线程发送信号:更新数据或通知槽函数的执行结果,主线程接受信号:刷新UI或更新数据
connect(myWork, &MyWork::SigFinishDoWorkA, this, &MainWindow::OnGetWorkAResult)
主线程和子线程之间通过信号槽进行数据交互时,
标签:Qt,MyWork,线程,connect,信号,多线程,对应 From: https://www.cnblogs.com/Jeffxu/p/18158275