Qt鼠标点击事件处理:按Escape键退出程序

创建项目

Qt 入门实战教程(目录)

首先,创建一个名称为QtKeyEscape的Qt默认的窗口程序。

参考 :Qt Creator 创建 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 中退出的代码:

cpp 复制代码
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)

相关推荐
海绵宝宝转agent1 分钟前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先
青峰讲运维11 分钟前
OpenStack Heat 编排:用模板一键交付云业务,告别手动点页面
开发语言·php·openstack
piaoyiren15 分钟前
Python FTP 服务端项目详细功能文档
网络·数据库·python
半杯咖啡半行码16 分钟前
QML进阶实战(二):异步网络、性能优化与工程化落地
网络·qt·性能优化·qml
少年的范儿17 分钟前
Windows 安装 MySQL 8.4 教程(ZIP 解压版):配置 my.ini、初始化数据库与启动服务
数据库·windows·mysql
pjj1985426 分钟前
YOLO 目标检测算法系列梳理:从 V1 到 V5 的原理演进
算法·yolo·目标检测
l1t27 分钟前
DeepSeek总结的AI 智能体应该用哪种语言搜索其记忆:SQL 还是 SPARQL?
数据库·人工智能·sql
MyFreeIT32 分钟前
Python Windows Manual
开发语言·python
胖纸不争32 分钟前
EnergyStarZ:让 Windows 后台进程给前台让路的能效管理器(v1.2 发布)
windows·性能优化·c#·win32·ef core
麦壳饼40 分钟前
SonnetDB:PID 调参实战:阶跃响应分析与参数解读
数据库·sonnetdb