Qt/QML编程学习之心得:Timer的使用(22)

阅读 9

2024-01-07

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();
        }
    }
}</

精彩评论(0)

0 0 举报