QT6(鼠标键盘事件)
QT6
鼠标键盘事件
#include "widget.h"
#include "./ui_widget.h"#include <QMouseEvent>
#include <QKeyEvent>
#include <QMessageBox>
#include <QStatusBar>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{// 不用按下鼠标也有效果setMouseTracking(true);ui->setupUi(this);connect(ui->pushButton,&QPushButton::clicked,qApp,&QApplication::quit);
}Widget::~Widget()
{delete ui;
}void Widget::mouseMoveEvent(QMouseEvent *event)
{// 鼠标事件监听int x = event->pos().x();int y = event->pos().y();QString text = "坐标:" + QString::number(x) + "," + QString::number(y);ui->label->setText(text);}void Widget::keyPressEvent(QKeyEvent *event)
{// 鼠标事件监听if(event->key() == Qt::Key_Escape)qApp->quit();if(event->key() == Qt::Key_Q)QMessageBox::information(this,"按键监听","按下了Q键");}
效果展示