QT源码阅读 -- QTimer
来源:互联网 发布:淘宝直播怎么用电脑看 编辑:程序博客网 时间:2024/06/02 02:54
#ifndef QTIMER_H#define QTIMER_H#ifndef QT_NO_QOBJECT#include <QtCore/qbasictimer.h> // conceptual inheritance#include <QtCore/qobject.h>QT_BEGIN_HEADERQT_BEGIN_NAMESPACEQT_MODULE(Core)<span style="white-space:pre">//处理QT许可证信息;class Q_CORE_EXPORT QTimer : public QObject{ Q_OBJECT Q_PROPERTY(bool singleShot READ isSingleShot WRITE setSingleShot) Q_PROPERTY(int interval READ interval WRITE setInterval) Q_PROPERTY(bool active READ isActive)public: explicit QTimer(QObject *parent = 0);<span style="white-space:pre">//防止隐式转换;#ifdef QT3_SUPPORT QT3_SUPPORT_CONSTRUCTOR QTimer(QObject *parent, const char *name);#endif ~QTimer(); inline bool isActive() const { return id >= 0; }<span style="white-space:pre">//是否处于激活状态,通过判断id是否大于0判断; int timerId() const { return id; }// 返回timer ID; void setInterval(int msec);// 设置间隔时间,既超时时间; int interval() const { return inter; }//获取间隔时间; inline void setSingleShot(bool singleShot);<span style="white-space:pre">// 设置是否属于SingleShot,既是否只触发一次; inline bool isSingleShot() const { return single; }// 获取是否是SingleShot; static void singleShot(int msec, QObject *receiver, const char *member);//这个静态函数非常方便使用,我们既可以不创建一个QTimer对象,也可不用发射一个信号出去,就可以完成timer的功能, QTimer::singleShot(600000, &app, SLOT(quit()));public Q_SLOTS:<span style="white-space:pre">// QT4.1引入的,其实就是用来替代slots; void start(int msec);<span style="white-space:pre">// start slot; void start(); void stop();// stop slot;#ifdef QT3_SUPPORT inline QT_MOC_COMPAT void changeInterval(int msec) { start(msec); } QT_MOC_COMPAT int start(int msec, bool sshot);#endifQ_SIGNALS: void timeout();// timeout 信号;protected: void timerEvent(QTimerEvent *);<span style="white-space:pre">// 对 QObject::timerEvent的reimplemented;private: Q_DISABLE_COPY(QTimer)<span style="white-space:pre"> inline int startTimer(int){ return -1;} inline void killTimer(int){} int id, inter, del; uint single : 1; uint nulltimer : 1;};inline void QTimer::setSingleShot(bool asingleShot) { single = asingleShot; }QT_END_NAMESPACEQT_END_HEADER#endif // QT_NO_QOBJECT#endif // QTIMER_H
0 0
- QT源码阅读 -- QTimer
- Qt Qtimer的使用
- QT定时器QTimer
- Qt的定时器QTimer
- Qt: QTimer的使用
- QT定时器QTimer用法
- QT定时器QTimer
- QT定时器QTimer
- 【引用】QT定时器QTimer
- Qt - QTimer更新ui
- Qt 定时器QTimer
- Qt QTimer执行
- Qt之QTimer
- QT定时器QTimer
- Qt定时器 QTimer使用
- Qt之QTimer
- Qt之QTimer
- QT定时器QTimer
- LeetCode-Word Break
- 一切成功源于积累——20140909 命运开始的21点
- Jetty 的工作原理以及与 Tomcat 的比较
- Java设计模式面试题2则
- memset函数使用详解
- QT源码阅读 -- QTimer
- hdu 3364 Lanterns
- CSAPP 六个重要实验 lab2
- synchronized的深刻认识
- 自然语言处理(NLP)学习笔记(一)——NLP应用
- nyoj 45 棋盘覆盖
- shell脚本编程中条件判断语句中各个参数的含义
- android中Http访问时 connection.getResponseCode()不被执行
- DES 加密算法的64位C++ 实现