Qt实现应用程序长时间未操作打印提示信息

来源:互联网 发布:守纪律讲规矩知敬畏 编辑:程序博客网 时间:2024/06/05 23:02

//*******widget.h*******//


#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QMouseEvent>
#include <QTimer>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
    Q_OBJECT
public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    void mousePressEvent(QMouseEvent *e);
    void mouseReleaseEvent(QMouseEvent *e);
private:
    Ui::Widget *ui;
    QTimer *m_timer;
private slots:
    void slot_Result();
};
#endif // WIDGET_H

//******widget.cpp******//

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    m_timer = new QTimer(this);
    connect(m_timer, SIGNAL(timeout()), this, SLOT(slot_Result()));
}
Widget::~Widget()
{
    delete ui;
    if(m_timer != NULL)
    {
     m_timer =NULL;
    }
}
void Widget::mousePressEvent(QMouseEvent *e)
{
    Q_UNUSED(e);
    m_timer->stop();
}
void Widget::mouseReleaseEvent(QMouseEvent *e)
{
    Q_UNUSED(e);
    m_timer->start(9000);//设置响应时间为9s
}
void Widget::slot_Result()
{
    qDebug() << "客户离开" << endl;
    //执行完事件时候必须停止定时器否则将会在设置时间超时时循环响应
    m_timer->stop();
}

原创粉丝点击