教你简单几步使用Qt5.12的多线程技术

本文介绍了如何在Qt5.12中使用多线程技术,强调了信号与槽的结合,包括创建继承自QObject的自定义类,定义耗时操作的处理函数,设置自定义信号,以及在Widget类中启动子线程的方法。同时,还提到了线程资源的回收策略和观察运行效果的方式。
摘要由CSDN通过智能技术生成

本文只是讲解如何使用,并不讲解其中实现原理。

1.首先在Widget或者其他你认为要用到地方包含相关的头文件(以下皆是在Widget下用)

#include <QThread>
#include <QDebug>    //方便打印

因Qt5的线程运用结合了信号与槽,这跟Qt4和C++本身的线程运用有点不一样。

2.先添加一个自定义类,一定要继承QObject类或者QWidget类有关的类,不然都没有信号与槽的实现基础,切记。参考如下图

3.其次在在该类中写上那些耗时间或者是打算利用QThread::sleep等延时函数的相关处理函数。

void go(){
    doSomeing;
    ...
}

3.再在上图的signals:写上自定义的信号(这个信号视情况而写,没用上可以不写,一般用于子线程向其他线程传递信息),

   例如:

void runStart(void);

4.然后回到Widget类,在该类中也定义一个信号,此信号是用来启动子线程

signals:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值