Qt 定时器的详细使用方法和注意点 Qobject QTimer
1 定义一个全局的变量用于记录定时器id,需要几个定时器就定义几个id.注意初始化id时候最好设置为0,因为 重复执行killTimer(0)不会报错
1 int temtimerID01 = 0 ; 2 // int QObject::startTimer ( int interval ) ; //正常情况下ID应该保存为全局变量 3 // void QObject::timerEvent ( QTimerEvent * event );//在这个里面判断时不时这个ID,做相应的处理 4 // void QObject::killTimer ( int id ); //通过ID杀死当前定时器2 在public中重写这个函数,所有的中断事件都在这里面处理
具体实现如下 记得添加头文件
#include <QTimerEvent>3 使用如下
1 killTimer(timerID01);//开启一帧数据传输之后,开启定时器.开启前先关掉以前的定时器 2 timerID01 = startTimer(3000);//三秒定时//后期根据实际情况反映//不过3秒应该够了4 注意点:
killTimer(timerID01);时候如果timerID是0,则不管kill几次都可以,但是其他情况多次kill可能出错,因此在每次正常情况kill之后都加上一句timrID=0,亲测可以使用
定时器第二种 qtimer
//只执行一次
QTimer::singleShot( 3000, [this]() );继承自当前进程,3秒后执行一次function()。
多次执行 注意定时器延时默认精度不高,需要手动设置更高精度
1 QTimer *timer40sCheck = new QTimer(this); 2 timer40sCheck>setTimerType(Qt::PreciseTimer);//提高定时器精度 3 connect(timer40sCheck,&QTimer::timeout,this,[=]() mutable); 6 timer40sCheck>start(00);不使用定时器的用法,做简单延时但是不影响界面
QCoreApplication::processEvents(QEventLoop::AllEvents); Sleep(100);下一篇:Qt QTimer::singleShot问题及用法
Qt
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?