QT中多线程QThread使用解疑实例
迪丽瓦拉
2024-02-03 19:49:23
0
//下面是测试类:
#define TESTDEMO_H
#include "qdebug.h"
#include "qthread.h"
#include class TestDemo:public QObject
{Q_OBJECT
public:TestDemo();
signals:void sigFun(int a);
};
class AA1:public QObject
{Q_OBJECT
public:AA1(){}public slots:void Fun(int a){qDebug() << "main " <<"threadID : "< 
//下面是调用

main()

AA1* a1=new AA1();
    QThread* th=new QThread();
    a1->moveToThread(th);
    th->start();
    B* b1=new B();
    b1->_A=a1;
    b1->_A->Fun(55);
   TestDemo to;
    QObject::connect(&to,&TestDemo::sigFun,b1->_A,&AA1::Fun);
    to.sigFun(10);
}

//经实测,_A->Fun方法两次打印出来的线程ID不同,说明此多线程应用方式可行。

相关内容