17 定时器
定时器
Qt有2种方式实现定时器的功能
1.使用QTimer类
QTimer
类非常简单使用,只需创建一个该对象,设置周期即可,在开启后,他会定时发出timeout()
的信号,我们可以直接使用槽函数连接该信号。
1.1常用函数:
1 | void setInterval(int msec); //设置周期 |
1.2使用信号槽
1 | QTimer *timer = new QTimer(this); |
使用 定时器 + 信号槽时,槽函数究竟在哪个线程被执行还是与
connect()
的连接方式有关!
2.使用timerEvent()事件处理函数
QObject对象可以通过QObject::startTimer()
开启一个定时器,该定时器会按一定的周期发出QObject::timerEvent()
事件。
我们通过重写该类的QObject::timerEvent()
事件处理函数即可使用定时器来做某些事情了。
2.1常用函数
1 | int QObject::startTimer(int interval, Qt::TimerType timerType = Qt::CoarseTimer); |
一个类可以调用若干次startTimer()
来创建若干个定时器
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.