基于QObject派生的类创建多线程应用,是新学习qt朋友比较难掌握的,这里详细示范下如何操作:
1-首先创建一个工作线程类:
#include <QObject>
//定义我们的工作线程,派生于QObject
class workthread : public QObject
{
Q_OBJECT
public:
explicit workthread(QObject *parent = nullptr);
void workfunc(quint16 Port);//工作线程处理函数
signals:
void SendResult5(QString strR);//线程运行过程中向外发送的信号
void SendFin5();//线程运行完毕发送的信号
};
void workthread::workfunc(quint16 Port)
{
//注意-在工作线程处理函数中,不能进行界面显示等操作,比如显示消息框等。
int i=1;
QString strText;
while(i<5)
{
strText=QString("第%1次 port:%2").arg(i++).arg(Port);
emit SendResult5(strText);
Q