引言
对于C端程序,定时器的使用是比较普遍的,比如我编程启蒙语言易语言,如果说让他每秒进行一个操作,是很容易的。

而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为参数的匿名函数,具体是什么意思有待剖析。
截图



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