基本使用方式:
- 多次定時器
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);//同上,就是引數不同