Qt4定时器使用详解

简介: 一、使用定时器的timeout()信号   关键代码片段如下:   class QtDemo {     public:          QTimer *timer;  //定时器类指针      public slots:         void t...

一、使用定时器的timeout()信号

 

关键代码片段如下:

 

class QtDemo

{

    public:

 

       QTimer *timer;  //定时器类指针

 

   public slots:

 

      void timeoutslot();//定时器超时时触发的槽函数

 

      void  startTimer()

 

      void  stopTimer()

  

};

 

 

QtDemo::QtDemo()

{

 

 

    connect(pushButton1,SIGNAL(clicked()),this,SLOT(startTimer()));//  点击pushButton1启动定时器

    connect(pushButton2,SIGNAL(clicked()),this,SLOT(stopTimer()));//   点击pushButton2停止定时器

 

    timer=new QTimer(this);  //创建定时器

 

    connect(timer,SIGNAL(timeout()),this,SLOT(timeoutslot()));//timeoutslot()为自定义槽,定时器timeout时触发该槽

}

 

 

void QtDemo::startTimer()

{

    timer->start(1000);  //启动定时器,超时为1

}

 

 

void QtDemo::stopTimer()

{

     timer->stop(); //停止定时器

}

 

 

 void QtDemo::timeoutslot()//定时器超时时触发的槽函数

{

    //在这里写定时器超时的要做的事情

}

 

 

 

二、重载timerEvent(QTimerEvent *)函数

 

关键代码片段如下:

 

class QtDemo2

{

    public:

 

        int Timer_id;  //定时器ID

 

 

public slots:

 

        void mystartTimer();

        void mystopTimer();

  

};

 

 

QtDemo2::QtDemo2()

{

    connect(pushButton1,SIGNAL(clicked()),this,SLOT(mystartTimer()));//  点击pushButton1启动定时器

    connect(pushButton2,SIGNAL(clicked()),this,SLOT(mystopTimer()));//   点击pushButton2停止定时器

  

 

}

 

void QtDemo2::mystartTimer()

{

    Timer_id = startTimer(1000);  //启动定时器,超时为1

}

 

 

void QtDemo2::mystopTimer()

{

     killTimerTimer_id; //停止定时器

}

 

void QtDemo2::timerEvent(QTimerEvent *event)

{

   qDebug("timerEvent happen!!! :::%d\n",event->timerId());   //定时器超时时执行这里,期中event->timerId()可以得到超时的那个Timer_id

}

 

 

(原文出处:http://www.embedhq.org,    转载请注明出处)

相关文章
|
7月前
【qt】日历和定时器
【qt】日历和定时器
80 0
|
6月前
Qt定时器
Qt定时器
|
6月前
|
API
【Qt】Qt定时器类QTimer
【Qt】Qt定时器类QTimer
|
7月前
|
Linux 图形学
深入理解Qt定时器:QTimer的魅力与挑战(一)
深入理解Qt定时器:QTimer的魅力与挑战
4368 0
|
7月前
|
C++
QT定时器的使用timer示例
QT定时器的使用timer示例
|
7月前
|
安全 API 开发者
深入理解Qt定时器:QTimer的魅力与挑战(二)
深入理解Qt定时器:QTimer的魅力与挑战
484 0
|
7月前
|
编解码 算法 Unix
【Qt 应用开发 】QT 三种定时器的介绍 以及 QTimer startTimer/Timerevent QBasicTimer 之间的区别
【Qt 应用开发 】QT 三种定时器的介绍 以及 QTimer startTimer/Timerevent QBasicTimer 之间的区别
1283 0
|
数据格式
嵌入式 QT 定时器与计时器
嵌入式 QT 定时器与计时器
Qt | 定时器的使用 QTimer
学习使用Qt定时器的用法。
975 0