定时器Qtimer:用于重复执行或延迟执行函数的类。它可以在一定的时间间隔内发出信号。
使用它,只需要创建一个QTimer类对象,然后调用start()函数开启定时器即可。
定时器的信号
当定时器超时后,就会发出一个timeout的信号函数。
void QTimer::timeout();
定时器的API函数
1.QTimer(int interval, QObject * parent = nullptr)
用于创建一个定时器对象,并设置定时器的超时间隔。
interval:定时器的时间间隔,单位是ms。1s=1000毫秒
parent:可选,定时器的父对象,默认为nullptr
//时间间隔为1s
QTimer timer(1000);
2.start(int msec = 0)
启动或者重新启动定时器
//设置时间间隔为3s,并启动
timer.start(3000);
3.stop()
停止定时器
timer.stop();
4.setInterval(int interval)
设置时间间隔,通过它可以进行时间间隔的修改。
//将原本1s的设置为2s
timer.setInterval(2000);
timer.start();
5.setSingleShot(bool singleShot)
设置定时器的单次触发方式,true,只发出一次信号;false,则定时器将按照其设定的超时间隔周期性触发。
//只进行一次
timer.setSingleShot(true)
6.timerId() const
返回定时器的标识符
//获取定时器的标识符int id = timer.timerId();
7.isActive() const
返回定时器是否处于活跃状态
//检查定时器的活动状态
bool active = timer.isActive();