标签:定时器 Qt 示例 timer 调用 timeout QTimer 1000
QTimer是一个计时器类,它为我们提供了一个即可重复触发又可单次触发的定时器。它是一个高层次的应用程序接口。要使用它,只需创建一个QTimer类对象,将它的timeout()信号连接到适当的函数上,然后调用其start()函数开启定时器即可,此后,QTimer对象就会周期性的发出timeout()信号。
例如,一个1s执行一次的定时器,可以如下设置:
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);
(1)SIGNAL(timeout())表示:每当计时结束,计时器归零并重新计时,并发送一个信号激活slot函数。
(2)timer->start(1000);当中的1000,就是1000毫秒的意思,表示每次timeout的时间间隔是1000ms
(3)这样,update()就会每隔1秒被调用一次。
我们也可以让一个QTimer对象在启动后只触发一次,只需调用该类的setSingleShot(true)即可。
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->setsetSingleShot(true)
timer->start(1000);
其实,更简单的做法是使用该类的静态方法QTimer::singleShot(),以某个时间间隔来启动一个单次触发的定时器。例如:
QTimer::singleShot(2000, this, SLOT(updateCaption()));
上面这句代码执行结束,2s后会调用一次updateCaption(),并且只调用一次。
改变计时周期,调用setInterval()
void setInterval(int msec)
标签:定时器,Qt,示例,timer,调用,timeout,QTimer,1000 来源: https://blog.csdn.net/DYDlove/article/details/109576766
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。