使用信号槽

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值