Loading... # 引言 对于C端程序,定时器的使用是比较普遍的,比如我编程启蒙语言易语言,如果说让他每秒进行一个操作,是很容易的。 ![image.png](https://www.zunmx.top/usr/uploads/2023/05/3163273622.png) 而js的话,`setInterval`也是可以很轻易的实现定时器功能,java语言通过`TimerTask`也是可以做到定时任务的功能。 # 实现 QT中的定时器也是很容易的就可以做到的,代码如下所示 ## 常规方式 ```c++ QTimer *timer = new QTimer(this); // 创建实例 connect(timer, &QTimer::timeout, this, &MainWindow::test); // 连接信号和槽 timer->start(5000); // 每5秒执行1次 timer->stop(); // 计时器停止 ``` 如果是常规做法的话,需要创建函数,使其定时器调用那个函数。 ## lambda方式创建 ```c++ QTimer * timer1 = new QTimer(this); timer1->start(1000); // 1000毫秒执行1次 connect(timer1,&QTimer::timeout,[=](){ // 业务部分 }); ``` `[=]()` 看起来像是提供this为参数的匿名函数,具体是什么意思有待剖析。 # 截图 ![image.png](https://www.zunmx.top/usr/uploads/2023/05/3870253251.png) © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏