欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QT定时器QTimer

程序员文章站 2024-03-22 18:37:58
...

Qtimer
QTimer类提供了重复和单次触发信号的定时器。

重复触发 - 时钟
QTimer类为定时器提供了一个高级别的编程接口。很容易使用:首先,创建一个QTimer,连接timeout()信号到适当的槽函数,并调用start(),然后在恒定的时间间隔会发射timeout()信号。

利用Qtimer,可以很轻松的模拟出一个时钟:

QTimer* timer = new QTimer(this);
//若当前时间超时,过了1000ms,更新m_pzEffectWidget窗口
connect(timer, SIGNAL(timeout()), m_pzEffectWidget, SLOT(update()));
timer->start(1000);


单次触发

使用setSingleShot(true)
QTimer *timer = new QTimer(this);
timer->setSingleShot(true);//设置为true之后,就会只触发一次
//过1000ms即触发一次
connect(timer, SIGNAL(timeout()), this, SLOT(processOneThing()));
timer->start(1000);


使用静态函数QTimer::singleShot()
//过200ms触发
QTimer::singleShot(200, this, SLOT(updateCaption()));