MainWindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QDebug>
#include <QKeyEvent>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();protected:void keyPressEvent(QKeyEvent*event) override;//覆写键盘输入事件private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
MainWindow.c
#include "MainWindow.h"
#include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::keyPressEvent(QKeyEvent *event)
{if(event->key()==Qt::Key_unknown){return;}QKeySequence sequence(event->modifiers()+event->key());qDebug()<<"Captured key sequence:"<<sequence.toString(QKeySequence::NativeText);//打印按下的键盘按键值
}