timer(定时器)
使用timer定时器首先要声明QTimer头文件,然后定时器的作用就是每隔一段时间发出一个信号,然后执行槽函数。
定时器的使用
//创建一个QTimer实例
timer = new QTimer(this);
//把QTimer的timeout信号和自己写的 槽函数进行连接
connect(timer, &QTimer::timeout, this, &Widget::handle);
//启动定时器,单位是ms,每过1000ms定时器就会发出一次信号,就会执行一次槽函数。
timer->start(1000);
//停止定时器
timer->stop();
timerEvent(定时器事件)
//开启定时器事件
int timerID = this->startEvent(1000);
//这里的timerID就是定时器事件的身份标识,因为在这个程序里可能会同时有很多个定时器。每个定时器都能触发timerEvent函数。
//下一步到头文件中声明定时器事件
void timerEvent(QTimerEvent *event);
//开始编写定时器事件的函数
void Widget::timerEvent(QTimerEvent *event)
{
//如果一个程序中有多个定时器,这这时每个定时器都会触发定时器事件,所以可以在触发前先判断一下是否是想要的定时器,如果不是就返回
if(event->timerID() != this->timerID)
{
return;
}
//然后就可以对定时器进行操作,需要的时候可以关闭定时器
this->killTimer(this->timerID);
}