QT (c++语言) - 定时任务的创建

引言

对于C端程序,定时器的使用是比较普遍的,比如我编程启蒙语言易语言,如果说让他每秒进行一个操作,是很容易的。
image.png
而js的话,setInterval也是可以很轻易的实现定时器功能,java语言通过TimerTask也是可以做到定时任务的功能。

实现

QT中的定时器也是很容易的就可以做到的,代码如下所示

常规方式

QTimer *timer = new QTimer(this);  // 创建实例
connect(timer, &QTimer::timeout, this, &MainWindow::test); // 连接信号和槽
timer->start(5000); // 每5秒执行1次
timer->stop(); // 计时器停止

如果是常规做法的话,需要创建函数,使其定时器调用那个函数。

lambda方式创建

QTimer * timer1 = new QTimer(this);
        timer1->start(1000); // 1000毫秒执行1次
        connect(timer1,&QTimer::timeout,[=](){
            // 业务部分
        });

[=]() 看起来像是提供this为参数的匿名函数,具体是什么意思有待剖析。

截图

image.png

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。