/*-------------头文件------------*/
#define WIDGET_H
#include <QObject>//继承的这个
class TimeWidget : public QObject
{
Q_OBJECT
public:
explicit TimeWidget(QObject *parent = 0);
~TimeWidget();
void handleTimeout(); //超时处理函数
virtual void timerEvent( QTimerEvent *event);
private:
int m_nTimerID;
};
#endif
//
WIDGET_H
/***-------------源文件*=*****/
#include
"widget.h"
#include <QDebug>
#include <QTimerEvent>
TimeWidget::TimeWidget(QObject *parent) :
QObject(parent)
{
int TIMER_TIMEOUT=3000;
//开启一个定时器
m_nTimerID = this->startTimer(TIMER_TIMEOUT); //在这3秒
}
TimeWidget::~TimeWidget()
{
}
void TimeWidget::handleTimeout()
{
qDebug()<<"Enter timeout processing function\n";
killTimer(m_nTimerID); //关闭定时器
}
void TimeWidget::timerEvent(QTimerEvent *event) //当时间到了就触发这个模块
{
if(event->timerId() == m_nTimerID){
handleTimeout();} //处理这个函数
}
主函数
#include
"widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
TimeWidget w; //调用的时候就开始记时
// w.startTimer(1000);
return a.exec();
}