首页 > 其他 > 详细

QT Qobject定时器的详细使用方法和注意点

时间:2020-11-20 15:12:58      阅读:43      评论:0      收藏:0      [点我收藏+]

qt有定时器我知道的有三种,一个是sleep,一个是time类,一个QObject自带的定时方法.我现在喜欢用这个

 

1  定义一个全局的变量用于记录定时器id,需要几个定时器就定义几个id.注意初始化id时候最好设置为0,因为  重复执行killTimer(0)不会报错

int temtimerID01 = 0 ;
// int QObject::startTimer ( int interval ) ;   //正常情况下ID应该保存为全局变量
// void QObject::timerEvent ( QTimerEvent * event );//在这个里面判断时不时这个ID,做相应的处理
// void QObject::killTimer ( int id );      //通过ID杀死当前定时器

 

2  在public中重写这个函数,所有的中断事件都在这里面处理

技术分享图片

 

 

 

具体实现如下  记得添加头文件  #include <QTimerEvent>

技术分享图片

 

 

 3  使用如下

  killTimer(timerID01);//开启一帧数据传输之后,开启定时器.开启前先关掉以前的定时器
    timerID01 = startTimer(3000);//三秒定时//后期根据实际情况反映//不过3秒应该够了

4  注意点:

    killTimer(timerID01);时候如果timerID是0,则不管kill几次都可以,但是其他情况多次kill可能出错,因此在每次正常情况kill之后都加上一句timrID=0,亲测可以使用

技术分享图片

 

QT Qobject定时器的详细使用方法和注意点

原文:https://www.cnblogs.com/RYSBlog/p/14010246.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!