Qt定时器的两种启动方式
一、简述Qt定时器的两种启动方式
- 根据通过一个int变量在定时器事件启动
- 通过QTimer变量发出的timeout信号启动
二、通过int变量启动定时器
步骤:
1. 在类头文件中定义一个整形的成员变量和导入相应头文件
#include #include int m_timer;
2. 将timerEvent函数添加在类头文件中
void timerEvent(QTimerEvent *event);
该类实现如下:
void CTimerTest::timerEvent(QTimerEvent *event){ Q_UNUSED(event); qDebug() << __FUNCTION__;}
3. 在需要开始定时器位置启动定时器(定义好后每隔定义的事件都会调用timerEvent事件)
//启动定时器,每秒一次(单位为毫秒) m_timer = startTimer(1000);
三、 通过QTimer变量发出的timeout信号启动
步骤:
1. 在类头文件中定义一个整形的成员变量和导入相应头文件
#include QTimer *m_timer;
2. 在类头文件中定义和timeout信号连接的槽函数
public slots: void on_timeOut();
该类实现如下:
void CTimerTest::on_timeOut(){ qDebug() << __FUNCTION__;}
3. 启动定时器,并连接其槽函数
//new出指针对象 m_timer = new QTimer; //启动定时器,每秒一次(单位为毫秒) m_timer->start(1000); //连接对应的信号槽 connect(m_timer, &QTimer::timeout, this, &CTimerTest::on_timeOut);
总结
定时器在很多时候都会使用,如测试连接是否断开,需要隔一段时间做某事等情况;第一种方法适合定时器使用较少的时候,第二种方法适合一个类中包含多个定时器的情况
友情提示——哪里看不懂可私哦,让我们一起互相进步吧
(创作不易,请留下一个免费的赞叭 谢谢 ^o^/)
注:文章为作者编程过程中所遇到的问题和总结,内容仅供参考,若有错误欢迎指出。
注:如有侵权,请联系作者删除