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 中退出的代码:
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)
相关文章:
Qt鼠标点击事件处理:按Escape键退出程序
创建项目 Qt 入门实战教程(目录) 首先,创建一个名称为QtKeyEscape的Qt默认的窗口程序。 参考 :Qt Creator 创建 Qt 默认窗口程序 Qt响应键盘Escape事件 打开Qt Creator >>编辑 >> 项目 >> Headers>> …...
P1162 填涂颜色
填涂颜色 - 洛谷 这个题用逆向思维,见不用染色的地方标记。 这里为了处理一些情况,将图周围一圈的0空出来,用于吧围墙之外的部分都标记上 用宽搜,四联通,感觉好奇怪,八连通ac不了 #include <iostrea…...
Vagrant命令
文章目录 1.介绍2.下载3. 配置3.1 配置环境变量3.2 在xshell中连接使用 4. 相关命令4.1 Box相关4.2 初始化环境4.4 虚拟机相关 1.介绍 Vagrant 是一个虚拟机管理工具 2.下载 https://www.vagrantup.com/ 3. 配置 3.1 配置环境变量 测试安装是否成功 3.2 在xshell中连接使…...
vue3+pinia实现动态类名及动态颜色
前提 store下models下有个before.ts文件 import { defineStore } from "pinia"; export const usebeforeloggininStore defineStore("counterStore", {state: () > ({beforelogin_params: [{type: "A登录",color: "#000",flag: 1,…...
CSS实现隐藏滚动条但可以滚动
场景 隐藏滚动条,但可以滚动 解决 全局样式 /* 隐藏滚动条 */ .outer-container::-webkit-scrollbar {width: 0; /* 设置滚动条的宽度为0 */background-color: transparent; /* 设置滚动条背景为透明 */ }/* 自定义滚动条轨道样式 */ .outer-container::-webkit…...
Ceph入门到精通-lunix将文本5行合成1行并按列统计
要将每5行合并为1行,您可以使用shell命令来完成。假设您有一个名为text.txt的文本文件,您可以使用以下命令来实现: bash cat text.txt | paste -d - - - - - 这将把文件中的每5行合并为1行,并且每个字段之间用空格分隔开来。您…...
linux线程讲解
1.线程概述 一个进程在同一时刻只做一件事情,进程是程序执行的一个实例。 线程是操作系统能够进行运算调度的最小单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 进程:资源分配的最小单位。线程,程…...
解决本地jar包导入maven
1、确定是否安装maven 2、输入导入命令 命令说明 <path-to-file>为你jar包所在的路径(尽量简单并且不要含中文) <group-id>为grouId号,与<artifact-id>组成唯一识别你jar包的坐标,当不在公共资源jar包中&#…...
ArcGis地图
1、概述 官网:https://developers.arcgis.com/qt/ 官网:官网指导 官网:Add graphics to a map view Arcgis runtime sdk for Qt 开发记录(系列文章) 2、创建地图 //online: m_mapView new MapGraphicsV…...
Chrome 和 Edge 上出现“status_breakpoint”错误解决办法
文章目录 STATUS_BREAKPOINTSTATUS_BREAKPOINT报错解决办法Chrome浏览器 Status_breakpoint 错误修复- 将 Chrome 浏览器更新到最新版本- 卸载不再使用的扩展程序和应用程序- 安装计算机上可用的任何更新,尤其是 Windows 10- 重启你的电脑。 Edge浏览器 Status_brea…...
华为AP升级操作记录
AP型号:AP4050DN 原版本:AP4050DN CLOUD V200R008C10SPC700 升级后版本:AP4000 V200R019C00SPC913 开启FTP,用户名:admin, 密码:123456 FTP服务端地址:192.168.8.58 操作:将AP连接…...
面试系列 - String字符串使用详解
String 类是 Java 中最常用的类之一,它用于表示和操作字符串。字符串是一系列字符的序列,可以包含字母、数字、符号等。在 Java 中,String 类是不可变的,这意味着一旦创建了字符串对象,它的内容就不能被修改。 一、常…...
1782_Adobe Reader X实现pdf分页保存
全部学习汇总: GitHub - GreyZhang/windows_skills: some skills when using windows system. 看了一本pdf电子书,觉得其中几页很值得分享。如果分享整本书当然是不错的选择,但是分享整本书很可能会导致一个结局——内容太多别人不会去看&…...
筛选图片,写JSON文件和复制
筛选图片,写JSON文件和复制 筛选图片,写JSON文件筛选图片复制 筛选图片,写JSON文件 # coding: utf-8 from PIL import Image, ImageDraw, ImageFont import os import shutil import cv2 as cv import numpy as np import jsondef zh_ch(str…...
C++并发编程:构建线程安全队列(第二部分:细粒度锁)
C++并发编程:构建线程安全队列(第二部分:细粒度锁) 1. 引言 在多线程环境下,为了保证数据的一致性和正确性,需要使用同步原语来对共享数据的访问进行互斥和同步。std::queue作为一种先进先出(FIFO)的数据结构,它本身并不是线程安全的,同时访问它可能导致数据竞争和不一致的问…...
浅述C++内存管理——new与malloc的不同
前言 C相对于其他语言有一个重要的特点就是对于内存的管理,相比于C语言,C提供了新的关键字new来代替malloc的功能,其中有何不同,请看下文。 一、内存的构成 在我们日常编程过程中最常接触到的就是以下四个分区 以下将分别给出例…...
语言基础篇11——函数、函数参数类型、装饰器、生成器
函数 基本结构 def func_name(value):print(f"Hello {value}")return 0func_name("World")函数参数 参数默认值和五种参数类型 https://docs.python.org/3/glossary.html#term-parameter 参数默认值 带默认值的参数必须在参数列表右边 def func_nam…...
linux jar包class热部署 工具 arthas安装及使用
在不改变类、方法 的前提下,在方法中对业务逻辑做处理 或 打日志等情况下使用。 建议线上日志调试时使用: arthas安装 1. 下载文件 arthas-packaging-3.7.1-bin.zip https://arthas.aliyun.com 2. 服务器安装arthas 2.1 服务器指定目录下创建目录 c…...
Android studio 调整jar包顺序
第一步:编译jar包,放入lib路径下:如: 第二步:app 目录下build.gradle 中添加 compileOnly files(libs/classes.jar) 第三步:project目录下build.gradle 中添加 allprojects {gradle.projectsEvaluated {t…...
用Qt写的机器视觉绘图工具
一个用QtGraphicsView写的机器视觉绘图工具,支持直线查找,圆拟合,卡尺工具,圆环查找等。底部GraphicsScene可以实时显示相机图像,工具获取图像后通过算法处理图像。 Project是基于Qt的例程项目qdraw改的。...
青少年软件编程等级考试C/C++ 1~8级历年真题解析与备考指南
1. 青少年软件编程等级考试概述 对于很多刚开始学习编程的青少年来说,青少年软件编程等级考试是一个检验学习成果的好机会。这个考试分为1~8级,从最基础的C/C语法到复杂的算法和数据结构,循序渐进地考察学生的编程能力。我当年第一次参加这个…...
探索Godot Open RPG:5步打造零基础可玩的回合制RPG游戏
探索Godot Open RPG:5步打造零基础可玩的回合制RPG游戏 【免费下载链接】godot-open-rpg Learn to create turn-based combat with this Open Source RPG demo ⚔ 项目地址: https://gitcode.com/gh_mirrors/go/godot-open-rpg 想开发属于自己的角色扮演游戏…...
基于django+vue的智慧物业来访预约报修管理系统
目录功能模块划分核心业务功能特色功能设计技术实现要点扩展性设计项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作功能模块划分 后台管理(Django) 用户权限管理:业主、物业管理员、维修人员…...
从图片预览需求看H5监听浏览器返回事件的3种实现方案(含history API避坑指南)
从图片预览需求看H5监听浏览器返回事件的3种实现方案(含history API避坑指南) 在移动端H5开发中,图片预览功能几乎是标配需求。随着全面屏手势操作的普及,用户越来越习惯通过滑动返回退出预览,而非点击关闭按钮。这种交…...
Houdini VEX实战:5步搞定变形管道的中心线生成(附常见问题修复)
Houdini VEX实战:5步搞定变形管道的中心线生成(附常见问题修复) 在三维动画制作中,处理变形管道的中心线是许多技术美术师面临的常见挑战。无论是角色动画中的血管、机械装置中的电缆,还是科幻场景中的能量管道&#x…...
Phi-3 Forest Lab企业应用:金融研报关键数据提取+趋势归纳AI助理
Phi-3 Forest Lab企业应用:金融研报关键数据提取趋势归纳AI助理 1. 金融研报处理的行业痛点 金融分析师每天需要处理大量研报,从中提取关键数据并归纳趋势。传统人工处理方式面临三大挑战: 效率瓶颈:阅读一份20页的研报平均耗时…...
拆解一个Buck电路实例:我是如何根据Datasheet为我的电源项目挑选MOS管的
拆解一个Buck电路实例:我是如何根据Datasheet为我的电源项目挑选MOS管的 当我在设计一款输入36V、输出12V/5A的Buck转换器时,MOS管的选择成了整个项目的关键转折点。市面上琳琅满目的型号让人眼花缭乱,而Datasheet里密密麻麻的参数表格更像是…...
推荐系统优化秘籍:如何用Metric Learning解决冷启动问题?
推荐系统优化秘籍:如何用Metric Learning解决冷启动问题? 在推荐系统领域,冷启动问题一直是困扰算法工程师和产品经理的核心挑战之一。新用户缺乏历史行为数据,新商品没有足够的曝光记录,传统协同过滤方法在这些场景下…...
网易云音乐无损解析:打造个人高品质音乐库的终极指南
网易云音乐无损解析:打造个人高品质音乐库的终极指南 【免费下载链接】Netease_url 网易云无损解析 项目地址: https://gitcode.com/gh_mirrors/ne/Netease_url 还在为网易云音乐无法下载无损音质而烦恼吗?想要建立属于自己的高品质音乐收藏库吗&…...
【深度学习新浪潮】如何安全、可靠地使用OpenClaw?
前言 当下AI智能体赛道飞速发展,OpenClaw凭借本地私有化部署、系统级实操能力、多模型兼容的核心优势,成为开发者、办公人群追捧的自动化工具。它可以调度浏览器、执行文件操作、运行终端脚本、串联多步骤业务流程,真正实现大语言模型从对话交互到落地执行的跨越。 但很多…...
