Qt QTimerEvent 定时器事件


QTimerEvent类用来描述一个定时器事件。starttimer开启一个定时器,传入一个参数为超时时间,毫秒为单位。返回值是一个timerid,在timerEvent事件函数中,根据timerid来实现超时函数。

MainWindow.h

 1 #ifndef MAINWINDOW_H  2 #define MAINWINDOW_H
 3  
 4 #include <QMainWindow>
 5 #include <QTimerEvent>
 6 namespace Ui {  7 class MainWindow;  8 }  9  
10 class MainWindow : public QMainWindow 11 { 12  Q_OBJECT 13  
14 public: 15     explicit MainWindow(QWidget *parent = 0); 16     ~MainWindow(); 17 protected: 18     void timerEvent(QTimerEvent* event); 19  
20 private: 21     Ui::MainWindow *ui; 22     int id1; 23     int id2; 24     int id3; 25 }; 26  
27 #endif // MAINWINDOW_H

mainwindow.cpp

 1 #include "mainwindow.h"
 2 #include "ui_mainwindow.h"
 3 #include <QDebug>
 4 MainWindow::MainWindow(QWidget *parent) :  5  QMainWindow(parent),  6     ui(new Ui::MainWindow)  7 {  8     ui->setupUi(this);  9     id1 = startTimer(1000);//开启一个1秒定时器,返回其ID
10     id2 = startTimer(1500); 11     id3 = startTimer(2200); 12 } 13  
14 MainWindow::~MainWindow() 15 { 16     delete ui; 17 } 18  
19 void MainWindow::timerEvent(QTimerEvent *event) 20 { 21     if(event->timerId() == id1) 22  { 23         qDebug()<<"timer1"; 24  } 25     else if(event->timerId() == id2) 26  { 27         qDebug()<<"timer2"; 28  } 29     else
30  { 31         qDebug()<<"timer3"; 32  } 33 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM