工程使用QT5.14.2
下载地址:qt-opensource-windows-x86-5.14.2.exe
记录鼠标点击时间,计算鼠标两次点击的时间间隔
软件示意
鼠标点击一次记录与上次点击相差的时间。
头文件:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QEvent>
#include <QMouseEvent>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
private:
Ui::MainWindow *ui;
int m_nmsec;
int m_temp;
};
#endif // MAINWINDOW_H
利用鼠标事件判断鼠标按下,并记录按键时间
实现文件:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QTime>
#include<QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
m_nmsec = 0;
m_temp = 0;
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::mousePressEvent(QMouseEvent *event)
{
m_temp = QTime::currentTime().msec()+QTime::currentTime().second()*1000 + QTime::currentTime().minute()*1000*60;
if(m_nmsec != 0)
{
qDebug()<<"Press interval:"<<m_temp - m_nmsec;
ui->textBrowser->append(QString("Press interval:")+ QString::number(m_temp-m_nmsec)+ "ms\n");
}
m_nmsec = m_temp;
}
void MainWindow::mouseReleaseEvent(QMouseEvent *event)
{
return;
}
记录时间,重写mousePressEvent时间,记录时间差。
工程文件