创建项目
首先,创建一个名称为QtKeyEscape的Qt默认的窗口程序。
Qt响应键盘Escape事件
打开Qt Creator >>编辑 >> 项目 >> Headers>> mainwindow.h
右键 class MainWindow >> Refactor >> Insert Virtual Function of Base Classes
如下图所示:
选择 QWidget >> keyPressEvent
Insertion options:
>> Insert definitions in implementation file >> OK
如下图所示:
Qt按Escape键退出程序
打开 Sources >> mainwindow.cpp
添加头文件包含
>> #include <QKeyEvent>
退出当前程序
对于单窗口的Qt程序来说,只需要关闭当前窗口即可。
关闭当前窗口只需要使用 this->close(); 即可关闭退出当前窗口。
具体实现如下:给你的窗口类添加下面的成员函数实现,即可。
在 MainWindow::keyPressEvent 中退出的代码:
void MainWindow::keyPressEvent(QKeyEvent *event)
{
if(event->key() == Qt::Key_Escape)
{
this->close();
}
}
此时运行程序,弹出窗口:
按下Escape键,窗口消失(程序退出)。
代码下载
百度云
链接:https://pan.baidu.com/s/1ZTsZqW2nLXOctb58_1G4Pw
提取码:1234
Gitee 码云
QtKeyEscape · CalmReason/learn-qt-with-code - 码云 - 开源中国 (gitee.com)