【Qt】事件的处理

news2024/11/15 8:02:01

 事件的处理

事件的处理,让一段代码和某个事件关联起来,当事件触发的时候,就能指定这段代码。在之前学习的信号槽是通过 connect 来完成上述关联的,对于事件来说,需要让当前的类,重写某个事件处理函数。这里使用到的是C++中的“多态”机制,创建子类,继承自Qt已有的类,在子类中重写父类事件的处理函数,后续在事件触发的过程中,就会通过多态这样的机制,执行到自己写的子类函数中。

事件处理的一般方式为:重写相关的 event 函数 

例子:重写处理鼠标进入和鼠标离开

在实现⿏标的进⼊和离开事件时,直接重新实现 enterEvent() 和 leaveEvent() 即可。enterEvent() 和 leaveEvent() 函数原型如下:

  • enterEvent() 

  • leaveEnter()

(1) 在Qt Designer中设置一段文本

(2)设置label边框

 

(3)创建QLabel的子类

(4)注意构造函数的父类

(5)重写enterEvent 和 leaveEvent

要想重写父类的函数,就需要确保在子类中重写的函数名字和函数的参数列表都完全一致(形参无所谓),注意防止单词拼写错误。【为了防止拼写错误,可以在Qt助手中直接复制过来】

 

(6)转换类型

当前在界面上创建的label其实是QLabel,而不是咱们自己写的label,必须确保界面上的这个label是咱们自己定义的label的实例,才会进行执行。

通过“提升为”这样的方式,就可以把Qt Designer中拖上去的控件的类型转换成自定义的控件类型

此时就说明当前的 enterEvent 和 leaveEvent 这俩个事件就被咱们给捕获到了。

(7)执行程序

例子:表白神器2.0

  • pushButton.h文件

  • pushButtton.cpp文件

  • widget.cpp文件

运行程序:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2111067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【服务对接】✈️SpringBoot 项目整合华为云 obs 对象存储服务

目录 👋前言 👀一、环境准备 🌱二、整合实现 1.依赖引入 2.准备 AK 和 SK ​ 3.配置类 4.obs 工具类封装 💞️三、测试使用 🍻四、 obs 客户端 📫五、章末 👋前言 小伙伴们大家好&…

2024国赛数学建模C题完整论文:农作物的种植策略

农作物种植策略优化的数学建模研究(完整论文,持续更新,大家持续关注,更新见文末名片 ) 摘要 在本文中,建立了基于整数规划、动态规划、马尔科夫决策过程、不确定性建模、多目标优化、相关性分析、蒙特卡洛…

Packet Tracer - 单区域OSPFv2的配置方法以及思路

Packet Tracer - 单区域OSPFv2的配置思路 1、思路前夕查看 做这个的时候大家了解一下通配符,不然不理解这个东西为什么子网掩码为什么会取反 这里给大家简单演示一下 2、使用进程 ID 10 在所有路由器上激活 OSPF。 在 Headquarters 网络中的路由器上使用 network…

FxFactory 8 for Mac 视觉特效插件包安装

Mac分享吧 文章目录 介绍页面效果一、下载软件二、开始安装1、Install安装2、显示软件页面,表示安装成功3、补丁安装 三、注意事项1、若已安装过其他版本,需要使用软件自带的卸载功能进行软件卸载,再安装此版本 安装完成!&#x…

pod install 报错处理

由于墙的原因,pod install 、 pod update经常报错 有效的解决方案(推荐): 以SnapKit为例 找不报错的同事要以下两个文件(指定的版本) 1. /Users/xxx/Library/Caches/CocoaPods/Pods/Release/SnapKit 2. /Users/xxx/Library/Cac…

后缀表达式转中缀表达式

假定有后缀表达式1 2 3 4 * 5 – ,请将它转化为前缀表达式。 利用表达式树: 1.从左到右扫面后缀表达式,一次一个符号读入表达式。2.如果符号是操作数,那么就建立一个单节点树并将它推入栈中。如果符号是操作符,那么…

针对不同区域的摄像头,完成不同的算法配置的智慧快消开源了

智慧快消视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。 基于多年的深度…

JAVAEE初阶第六节——网络编程套接字

系列文章目录 JAVAEE初阶第六节——网络编程套接字 文章目录 系列文章目录JAVAEE初阶第六节——网络编程套接字 一. 网络编程基础1. 为什么需要网络编程2. 什么是网络编程3.网络编程中的基本概念 3.1 发送端和接收端 3.2 请求和响应 3.3 客户端和服务端 4. 常见的客户端服务…

求二叉树的深度——(力扣c语言)

题目如下: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入&#xff1a…

[网络编程]TCP和UDP的比较 及 通过java用UDP实现网络编程

文章目录 一. 网络编程套接字TCP和UDP的特点有连接 vs 无连接可靠传输 vs 不可靠传输面向字节流 vs 面向数据报全双工 vs 半双工 二. java用UDP实现网络编程代码实现:运行代码:启动多个客户端别人能否使用?实现翻译功能 一. 网络编程套接字 网络编程套接字, 就是指操作系统提…

linux 部署Ollama本地大模型

简介 llama 是一个大模型的管理框架,其作用类似于 Docker:如果将每一个标准化的大模型视为“镜像”,那么 Ollama 就能够通过一行命令快速拉取并运行这些大模型。然而,Ollama 本身是基于命令行的服务,所以为了方便我们…

足底筋膜炎怎么治

足底筋膜炎是一种常见的足部疾病,其主要症状及治疗方法如下: 一、症状 1、‌疼痛‌:足底筋膜炎最典型的症状是足跟或足底靠近足跟处的疼痛。这种疼痛在晨起或长时间休息后初次站立时尤为明显,但行走一段时间后可能会逐渐缓解。 …

超级兔子and这三款数据恢复软件,我的数据守护神!!

在数字化的时代,数据丢失已经成为了一个令人头疼的问题。无论是误删重要文件,还是硬盘出现故障,数据的丢失都可能带来不可估量的损失;幸运的是,有了超级兔子这这三款数据恢复软件这样的工具,让数据找回变得…

AI基础 L1 Introduction to Artificial Intelligence

什么是AI Chinese Room Thought Experiment 关于“强人工智能”的观点,即认为只要一个系统在行为上表现得像有意识,那么它就真的具有理解能力。 实验内容如下: 假设有一个不懂中文的英语说话者被关在一个房间里。房间里有一本用英文写的中…

【C++】list类:模拟实现(适合新手的手撕list)

提示:在开始模拟实现list前,最好先熟悉下list相关接口: 【C】容器list常用接口详解-CSDN博客https://blog.csdn.net/2301_80555259/article/details/141756824?spm1001.2014.3001.5501 目录 一.基本结构 二.构造函数 三.析构函数 四.迭代…

拍卖新纪元:Spring Boot赋能在线拍卖解决方案

需求分析 1.1技术可行性:技术背景 在线拍卖系统是在Windows操作系统中进行开发运用的,而且目前PC机的各项性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。 系统的开发环境和配置…

ant mobile design组件库的PickerView组件不能滑动

问题 PickerView组件在开发环境可滑动,在测试环境不可滑动 正常开发环境是这样正常显示,并且可滑动的 发到测试环境后,变成了这样,并且只有中间那列可滑动,两边的都不能滑动,而且还会报警告 封装的组件…

修改服务器DNS解析及修改自动对时时区

修改服务器DNS解析: 1、搜索一下当地的DNS服务器的地址 2、登录服务器,执行 vim /etc/resolv.conf文件,在nameserver字段后填写DNS服务的地址 3、chattr i /etc/resolv.conf 加上不可修改权限,防止重启DNS被修改 修改自动对时…

jmeter压力测试,通过LLM利用RAG实现知识库问答,NEO4J部署,GraphRAG以知识图谱在查询时增强提示实现更准确的知识库问答(9/7)

前言 这周也是杂七杂八的一天(高情商:我是一块砖,哪里需要往哪里搬),首先是接触了jemter这个压力测试工具,然后帮公司的AIGC项目编写使用手册和问答手册的第一版,并通过这个平台的智能体实现知识…

【LabVIEW学习篇 - 16】:文件操作

文章目录 CSV文件CSV写入CSV读取 TXT文件txt写入txt读取 INI文件INI文件写入INI文件读取 CSV文件 .csv (Comma-Separated Values)是逗号分隔值文件格式,有时也称之为字符分隔值,因为分隔符也可以不是逗号(最常见的是逗号和制表符)&#xff0…