2.6.4 Qtimer定时器介绍
QTimer类提供了定时器功能,在指定的时间超时之后可以发出超时信号,可以单次或者重复定时。 QTimer使用方法比较简单:先创建一个QTimer定时器,使用start()函数设定定时的时间并开始计时。然后将timeout()信号连接到适当的槽函数。当定时的时间到达后,QTimer将会发出timeout()信号。注意:定时器的时间单位为毫秒(ms)。
创建一个重复的定时器:
代码语言:javascript复制QTimer *timer = new QTimer(this); //创建定时器
connect(timer, SIGNAL(timeout()), this, SLOT(update())); //关联槽函数
timer->start(1000); //1000毫秒
创建成功后,每隔1000毫秒timer定时器将会发出一个timeout()信号。
下面介绍几个QTimer常用的成员函数。
1.修改定时器的时间
代码语言:javascript复制int interval() const //返回当前定时器的超时时间
void setInterval(int msec) //设置定时器的超时时间
2.设置定时器单发和重复属性
代码语言:javascript复制bool isSingleShot() const
void setSingleShot(bool singleShot) //设置定时器的单发和重复属性
默认情况下,定时器属性为false,支持重复超时触发。设置singleShot属性为true之后,定时器只会触发一次超时信号。
3.定时器启动与停止
代码语言:javascript复制[slot] void QTimer::start() //启动定时器
[slot] void QTimer::start(int msec) //启动定时器,并设置超时时间
[slot] void QTimer::stop() //停止定时器