问题:QTimer定时器在工作中执行stop();
函数后,再start();
其结果
- 回答:
QT在Linux版本中,再次start()
,QTimer定时器会保持之前的计时记录,并在之前的样态上继续工作,这一点可以验证。
也就是说,QTimer定时器start();
之后,并不会重新计时。。。。
问题:QTimer定时器,若是需要重新启动,该如何处理
- 回答:
处理的方案一:
通过函数killTimer(int QTimer_id);
函数把现在停止的QTimer定时器释放掉,然后重新创建定时器,达到重新启动的目的。
QTimer *Ptimer = new QTimer;
int Timer_id = Ptimer->start(1000); /*定时器的id是通过start()函数返回*/
以上是创建部分,下面的代码是QTimer定时器需要释放时的删除函数。
...
killTimer(Timer_id);
...
- 回答:
处理的方案二:
通过QTimer::setInterval(msec);
函数,对暂停的定时器,重新填装定时器触发值。重新填装的定时器,再通过start()
后,QTimer定时器便重新启动计时。
QTimer *Ptimer = new QTimer;
int Timer_id = Ptimer->start(1000); /*定时器的id是通过start()函数返回*/
以上是创建部分,下面的代码是QTimer定时器使用重新填装函数进行重新启动。
...
Ptimer->setInterval(1000);
Ptimer->start();
...
版权声明:本文为CSDN博主「求丶空白灬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41707123/article/details/116453866
暂无评论