基本使用方式:
- 多次定时器
QTimer *timer = new QTimer(this);
//timer->setInterval(1000);//设置间隔时间
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);//start之后,设置间隔时间并启动定时器,每隔一秒触发一次槽函数
- 单次定时器
注意:可以通过设置setSingleShot(true)来让定时器只执行一次。也可以使用静态函数QTimer::singleShot():
1. 下面我们用三种实现方式吧,来实现定时器的单次触发;
实现一
使用QTimer的 setSingleShot 接口实现单次定时器。
QTimer *pTimer = new QTimer(this);
connect(pTimer,SIGNAL(timeout()),this,SLOT(slot_Timerout()));
pTimer->setSingleShot(true);
pTimer->start(1000);
实现二
使用QTimer的 singleShot 接口实现单次定时器。
QTimer *pTimer = new QTimer(this);
pTimer->singleShot(10000,slot_Timerout);
实现三
使用QTimer的 singleShot 静态接口实现单次定时器,实现简洁,推荐使用。
QTimer::singleShot(1000,this,SLOT(slot_Timerout()));
QTimer::singleShot(1000,slot_Timerout);//同上,就是参数不同