QT事件机制理解

事件和信号

从硬件层来看: 事件就是一种中断,
中断的产生形式:
1.用户操控硬件所产生的中断。
2.由系统自身所产生的中断,比如说定时器。

这种中断由系统内核监控,由系统内核接收到中断并向CPU发出的执行请求就叫信号。所以说事件是信号产生的基础
当Cpu接收到请求信号之后,对这个中断进行的响应叫做事件响应
在操作系统中,用户操控硬件时的中断由操作系统所监控,比如,当用户点击了一下鼠标时,此时鼠标就产生了一个中断,操作系统监控到这个中断,向CPU发出响应的请求(即一种信号),CPU按照自己的时间片对这个响应请求进行响应并进入相应的函数对这个鼠标点击事件进行处理的过程,叫做响应。当CPU进入事件处理函数后就可执行对点击事件的各种软件层的逻辑包括再发出不同的信号。

事件与信号与槽机制

事件是信号槽中信号产生的基础,而不是信号槽,信号槽解决的是两个不相关的控件中的通信问题。
事件是解决本控件对来自系统中信号的响应问题,两者不是一个概念。只能说信号槽的信号产生是由事件产生的。

QT里的事件

main.cpp

创建了一个QApplication 对象a,调用exec()后,整个程序进入事件循环,由QApplication 对象a监控应用程序中所有控件所产生的事件

#include "widget.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
简要描述QT事件处理机制:由exec执行的事件循环监听整个应用程序中所有控件的事件,当某个控件产生相关事件之后,QApplication 对象
就会执行 notify 函数,向此控件发送通知,收到事件通知的控件通过 过滤 以及 分发函数,到达事件处理函数,整个过程为响应函数。

QT底层维护的 事件处理机制 路径

在这里插入图片描述
并且QT事件处理函数都是虚函数,可以重写功能。
常用事件处理函数:

  • 鼠标事件 QMouseEvent
  • 键盘事件 QKeyEvent
  • 重绘事件 QPaintEvent
  • 定时器事件 QTimeEvent
  • 拖拽事件 QDropEvent

再次区别事件机制、信号与槽机制

事件机制是针对于某一个控件,信号与槽机制针对两个不相关的控件
事件机制是CPU调度完成的,信号与槽机制是自动触发的,只要触发了信号,直接槽函数处理,不会等CPU

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

异步交互技术Ajax

目录 一、同步交互和异步交互 二、Ajax 1.概述 2.如何实现ajax请求 三、异步传输数据乱码的问题 regist.html页面代码 服务端代码处理 一、同步交互和异步交互 同步交互&#xff1a;在同步交互中&#xff0c;参与的各方在同一时间进行交流。请求一项操作后&#xff0c;发…

这样理解嵌入式术语

1.裸机开发&#xff1a;n个人拉屎&#xff0c;先进去一个拉完&#xff0c;下一个再来&#xff1b; 2.看门狗&#xff1a;如果有人拉完屎还占着茅坑刷视频&#xff0c;把他拖出去 3.中断系统&#xff1a;n个人拉屎&#xff0c;先进去的拉完&#xff0c;下一个再来。如果有拉肚…

陪跑案例 | 德国营养师吴迪:从胖妹逆袭塑形导师!公开首场发售秘籍

有目标&#xff0c;有心力的老师&#xff0c;一旦找对方法和团队&#xff0c;能够化解99%的问题。 今天&#xff0c;创客匠人【陪跑案例故事】专栏推出第四期内容&#xff0c;为大家介绍【梦想身型健康学院】平台创始人吴迪老师的陪跑故事。 吴迪老师是梦想身型训练营创始人、德…

海外媒体投稿:5个软文代发推广入门技巧

1. 软文代发概述 软文代发是一种通过第三方渠道发布软文的推广方式。它可以帮助小白快速上手推广&#xff0c;提高品牌知名度、产品销量等。软文代发不仅能够吸引更多的目标用户&#xff0c;还能提高网站的流量和转化率&#xff0c;从而带来更多的商机。 2. 明确目标受众和需求…

【vue讲解:ref属性、动态组件、插槽、vue-cli创建项目、vue项目目录介绍、vue项目开发规范、es6导入导出语法】

0 ref属性&#xff08;组件间通信&#xff09; # 1 ref属性放在普通标签上<input type"text" v-model"name" ref"myinput">通过 this.$refs[myinput] 拿到的是 原生dom对象操作dom对象&#xff1a;改值&#xff0c;换属性。。。# 2 ref属…

Java项目集成RocketMQ

文章目录 1.调整MQ的配置1.进入bin目录2.关闭broker和namesrv3.查看进程确认关闭4.编辑配置文件broker.conf&#xff0c;配置brokerIP15.开放端口109116.重新启动1.进入bin目录2.启动mqnamesrv和mqbroker1.启动 NameServer 并将输出重定向到 mqnamesrv.log2.**启动 Broker 并将…

YouTube最好用的翻译插件

相信很多同学和我一样&#xff0c;想看YouTube视频时发现基本上都说英文&#xff0c;以我的英文水平&#x1f923;去观看真是一言难尽&#xff0c;所以就想着看能不能在谷歌浏览器上找一个插件来进行翻译&#xff0c;结果还真让我找到了一个不错的Youtube翻译插件&#xff0c;它…

【数据结构】队列的实现

0. 前言 上期博客给大家讲解了 栈 以及 栈的实现&#xff0c;今天再给大家讲一个特殊的顺序表结构&#xff0c;那就是队列&#xff01; 下面就进入正题&#xff01;一起学习一下吧&#xff01; 1. 队列 1.1 队列的概念 队列&#xff1a;只允许在一端进行插入数据操作&…

多媒体技术及应用课程思政网站

摘 要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括多媒体技术及应用课程思政网站的网络应用&#xff0c;在外国多媒体技术及应用课程思政已经是很普遍的方式&#xff0c;不过国内的多媒体技术及应用课程思政可能还处于起…

WPF Mvvm

了解MVVM 什么是MVVM&#xff1a;一种设计模式 设计模式&#xff08;Design pattern&#xff09;代表了最佳的实践&#xff0c;通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人…

网络招商是什么意思,主要干什么工作?

互联网时代&#xff0c;网络招商&#xff0c;已经是企业不可缺少的一部分&#xff0c;这篇文章&#xff0c;详细为大家分享&#xff0c;网络招商的意思&#xff0c;以及主要工作内容&#xff01; 一、网络招商意思 就是利用互联网进行招商的一种方式&#xff0c;借助互联网的…

【深度学习】直观理解AUROC

文章目录 前言如何计算直观解释常用计算方式 前言 AUROC常用于衡量二分类分类器的性能&#xff0c;本文旨在详解该指标计算过程 如何计算 设想我们有一个分类器&#xff0c;对数据做二分类。我们设输入数据为 x x x, 预测标签为 y y y, ground-truth标签为 y ^ \hat{y} y…

docker 拉取镜像 error pulling image configuration: download failed ****

问题&#xff1a; 在安装docker后拉取镜像的时候 出现error pulling image configuration: download failed ****异常 原因&#xff1a; 由于镜像源配置的问题引起的镜像拉取异常 解决 由于网络或者其他原因导致拉取镜像请求失败&#xff0c;报错&#xff1a; error pulli…

Oracle 用户-表空间-表之间关系常用SQL

问题&#xff1a; 当某一个表数据量特别大&#xff0c;突然插入数据一直失败&#xff0c;可能是表空间不足&#xff0c;需要查看表的使用率 用户-表空间-表之间关系&#xff1a;用户可以有多个表空间&#xff0c;表空间可以有多个表&#xff0c;表只能拥有一个表空间和用户 1.…

爱心动画代码HTML5

这段代码是一个HTML5 Canvas动画&#xff0c;它通过JavaScript创建了一个动态的爱心效果。页面初始化时&#xff0c;首先定义了一些基本设置&#xff0c;如粒子数量、持续时间、速度等。然后&#xff0c;定义了Point和Particle类&#xff0c;用于处理粒子的位置和运动。接着&am…

C语言数据类型和变量

数据类型介绍 数据类型介绍 C语言提供了丰富的数据类型来描述生活中的各种数据。 使用整型类型来描述整数&#xff0c;使用字符类型来描述字符&#xff0c;使用浮点型类型来描述小数。 所谓“类型”&#xff0c;就是相似的数据所拥有的共同特征&#xff0c;编译器只有知道了数…

软件测试经典面试题,助你面试加分

Hi&#xff0c;大家好&#xff0c;进入金九银十&#xff0c;很多小伙伴有被动跳槽的打算&#xff0c;所以更新一些经典的软件测试面试题&#xff0c;希望能帮到大家&#xff01; 时间紧迫的情况下&#xff0c;如何做好测试工作&#xff1f; 对需求要明确&#xff0c;对需求的优…

iPhone如何全选删除照片:一步到位的清理指南

随着时间的推移&#xff0c;iPhone中的照片会迅速累积&#xff0c;最终可能占据大量的存储空间。无论是为了释放空间&#xff0c;还是整理照片库&#xff0c;iPhone如何全选删除照片成为许多用户的需求。然而&#xff0c;iPhone原生的“照片”应用并没有直接提供“全选删除”功…

汽车租赁管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图详细视频演示技术栈系统测试为什么选择我官方认证玩家&#xff0c;服务很多代码文档&#xff0c;百分百好评&#xff0c;战绩可查&#xff01;&#xff01;入职于互联网大厂&#xff0c;可以交流&#xff0c;共同进步。有保障的售后 代码参考数据库参…

SAIA触摸屏维修PCD7.D457VNCG03 SAIA-burgess

瑞士SAIA触摸屏维修SAIA-burgess思博控制器维修PCD7全系列。 触摸屏维修常见故障&#xff1a;黑屏、指示灯无任何显示&#xff0c;触摸屏上电无反应&#xff0c; 上电蓝屏、白屏&#xff0c;通电几分钟后屏幕变为蓝屏&#xff0c;主板故障&#xff0c;通讯时有时无&#xff0c…