我的QT学习笔记-02-QTimerEvent类定时器
来源:互联网 发布:高中数学 算法大纲 编辑:程序博客网 时间:2024/05/21 05:55
QTimerEvent类用来描述一个定时器。对于一个QObject类的子类,只需要使用int QObject::startTimer(int interval)函数来开启一个定时器,这个函数需要输入一个以毫秒为单位的整数作为参数来表示设定的时间,它返回一个整形标号来表示这个定时器。当定时器溢出时就可以在tImerEvent函数中获取改定时器的编号来进行相关的操作。
新建Qt Gui应用,将项目名称改为myTimerEvent,基类选择为QWidget,然后类名保持Widget不变。项目工程如下所示:
各个文件下的代码如下所示:
widget.h代码如下:
#ifndef WIDGET_H#define WIDGET_H#include <QWidget>namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); protected: void timerEvent(QTimerEvent *event);private: Ui::Widget *ui; int id1,id2,id3;};#endif // WIDGET_Hmain.cpp如下:
#include "widget.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show(); return a.exec();}widget.cpp:如下
#include "widget.h"#include "ui_widget.h"#include <QDebug>Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); id1 = startTimer(1000); id2 = startTimer(2000); id3 = startTimer(3000);}Widget::~Widget(){ delete ui;}void Widget::timerEvent(QTimerEvent *event){ // 判断是哪个定时器 if(event->timerId() == id1){ qDebug() << "timer1"; } if(event->timerId() == 2){ qDebug() << "timer2"; } if (event->timerId() == id3){ qDebug() << "timer3"; qDebug() << "id1="<< id1; qDebug() << "id2="<< id2; qDebug() << "id3="<< id3; //我们观察startTimer()函数返回的值 }}编译之后应用程序输出如下:
可以看出:
1>startTimer()函数返回的是整形数值。2><pre name="code" class="html">void timerEvent(QTimerEvent *event);函数为中断处理函数,可以根据那个定时器执行响应的操作。
0 0
- 我的QT学习笔记-02-QTimerEvent类定时器
- Qt学习: QTimerEvent定时器事件的处理程序代码示例
- QT::QTimerEvent
- Qt学习笔记-定时器的应用及精度设置
- Qt学习笔记(5):随机数+定时器
- Qt学习笔记1(关于我的Qt)
- Qt定时器:QObject类的定时器和定时器类QTimer
- QT笔记 ---定时器
- 我的Qt学习笔记 1 从QObject开始
- Qt学习 之 定时器
- QT学习-定时器
- 浅谈 QT 中的 QTimer、QTimerEvent 与 MFC 中的 OnTimer
- QT 定时器的使用
- Qt的定时器QTimer
- QT定时器的用法
- Qt定时器的使用
- Qt定时器的使用
- Qt 定时器的使用
- 如何让Qt 的程序等待一段时间
- ajax登录
- STM32(Cortex-M3)中的优先级概念-20151029
- FileStorage_SharePreference
- 过滤器实现跨域问题
- 我的QT学习笔记-02-QTimerEvent类定时器
- 二分图判定和割顶与桥的判断
- 仅通过崩溃地址找出源代码的出错行
- MySQL数据表的基本操作二:表结构查看、修改与表操作
- bzoj3479【Usaco2014 Mar】Watering the Fields
- JavaMap以及Java.Entry详解
- C语言之任意进制的转换
- iOS开发: 使用ARC的工程怎么同时再引用MRC的第三方类库
- BP神经网络的设计实例(MATLAB编程) .