Qt中timer计时器如何使用?
Timer的创建:
void InitTimer(){
myTimer = new QTimer(q);
myTimer->setInterval(100); // 100ms
myTimer->setSingleShot(true); //只运行一次的计时器
QObject::connect(myTimer,SIGNAL(timeout()),q,SLOT(onTimeOut()));
myTimer->start();
}
Timer的槽函数:
timer在发出超时timerout()的signal消息后,结合上面的connect,可以知道其处理槽函数为:onTimerOut()。
void MyWidget::onTimeOut()
{
QTimer* timerTmp = static_cast<QTimer*>(sender());
if(timerTmp== myTimer) {
if(_OnlyOnce==true) {
_OnlyOnce= false;
if(myTimer->isActive()) {
myTimer->stop();
}
myTimer->start();
}
}
}
定时器可以用于触发一次操作