首页 > 其他 > 详细

使用信号槽

时间:2019-01-22 22:32:58      阅读:171      评论:0      收藏:0      [点我收藏+]

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>");

 

使用信号槽

原文:https://www.cnblogs.com/wangbin-heng/p/10306290.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!