使用信号槽
Posted wangbin-heng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用信号槽相关的知识,希望对你有一定的参考价值。
1、跨线程
DataThread *my=new DataThread;//DataThread继承自QObject 好像不能有父对象 QThread *Thread=new QThread; // 好像不能有父对象 my->moveToThread(thread); thread->start(); connect(thread, &QThread::started, [=] { my->dealData(QList);//子线程开始处理数据 }); connect(my, &DataThread::dealOver, this, &Widget::recvDataFromThread, //子线程处理完数据后,将结果发到主线程 Qt::QueuedConnection); 注: 1、销毁线程 thread->exit(0); 2、可能无法识别自定义的数据类型,需要在构造函数中注册数据类型。 #include<QMetaType> qRegisterMetaType<QVector<structXYZ>>("QVector<structXYZ>");
以上是关于使用信号槽的主要内容,如果未能解决你的问题,请参考以下文章