网站建设软件长沙企业网站建设

广州皇族文化传播有限公司 2026/09/09 18:09:55

目录

  • 1,事件的概念
  • 2,事件循环
  • 3,父子控件之间事件的传递处理
  • 4,事件过滤器

1,事件的概念

定义:事件是应用程序内部发生的事情或应用程序需要知道的外部事件的结果。

事件和信号的区别:
事件是由外部向内部,信号是由内部向外部。事件先发生,信号后发生。

2,事件循环

intmain(){do_step1();do_step2();}

等待事件发生之后再退出。

intmain(){while(!is_quit()){do_step1();do_step2();}}


当我们运行程序时,会向操作系统注册回调函数,当有事件发生时,操作系统会调用回调函数,此时会记录发生的事件是那种类型的事件,然后将事件加入到一个消息队列当中,此时一个循环就会处理消息队列中存储的事件,然后根据对应事件去进行逻辑处理。

3,父子控件之间事件的传递处理



以上两个图描述的是Qt负责处理事件处理的类关系图和Qt中常用的处理事件的几种方式。

在实际的项目中会经常处理父子窗口之间的事件传递,那么事件传递的机制是怎样的呢?
以下是两个事件处理函数。

其中Widget是父窗口,MyLineEdit是子窗口。当出现事件时,说先处理子窗口,后处理父窗口。
但是以上的编码实际上在多次出现某种事件之后父窗口的事件只执行了一次。所以需要在子窗口的事件函数中添加代码 event->ignore();
此外重写处理函数时,需要调用基类的处理函数。


有的时候根据需要我们需要事件进行子窗口到父窗口的传递,有时候不需要,那么怎么控制传递呢?
event->ignore(); 允许事件进行子窗口到父窗口的传递。
event->accept(); 阻止事件进行子窗口到父窗口的传递。

4,事件过滤器

通常情况下,一个父窗口中往往会有很多子窗口,而此时发生在这个窗口中的事件需要我们去一 一 处理,很多时候我们需要分清楚这个事件是发生在哪个子窗口中的,这个时候我们就需要事件过滤器去帮助我们判断。

假设我们的父窗口类为 Widget 子窗口类为 MyLineEdit 。

应用事件过滤器,首先要重写
bool QObject::eventFilter(QObject *watched, QEvent *event);函数
其次还要给主窗口安装事件过滤器,
ui->lineEdit->installEventFilter(this);在这个示例里面表示是一个名为lineEdit控件安装事件过滤器。

示例:

bool Widget::eventFilter(QObject*watched,QEvent*event){if(watched==ui->lineEdit){if(event->type()==QEvent::KeyPress){//进行相应逻辑处理}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

企业网站建设方案牡丹江网站建设

古诗词打卡学习小程序 - 产品介绍项目概述古诗词打卡学习小程序是一款专为诗词爱好者设计的学习工具,特别适合中老年用户群体。该小程序收录了15首经典古诗词,包括《静夜思》、《

2026/06/30 12:45:32

网站建设服务团购网站建设

你是否试过:明明身体疲惫不堪,却还要强撑着应付工作?心里焦虑难安,最后竟演变成胃痛失眠?情绪低落时,整个人都像被抽空

2026/06/30 14:03:08

网站建设计划书三亚网站建设

终极指南:轻松解决NVIDIA显卡风扇30%转速限制【免费下载链接】FanControl.ReleasesThis is the release repository for Fan C

2026/06/30 14:08:39

珠海网站建设西安专业网站建设

在我们做客制化android系统中经常会碰到这样的需求,屏的实际尺寸是12.2英寸,但在安兔兔或者其他设备信息检测类app中显示的却不是这个数,而是比他小的数

2026/06/30 12:44:32

电子商务网站建设柳州网站建设

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:开发一个GRPO智能审批系统,功能包括:1.自动

2026/06/30 13:55:07

电子商务网站建设网站建设维护

AI大模型算法工程师行业概况在人工智能技术飞速发展的今天,AI大模型算法工程师成为了推动行业创新的关键力量。该领域涵盖了深度学习、自然语言处理、计算机视觉等多个方向,广泛应

2026/06/30 12:55:33

舟山网站建设网站品牌建设

项目规划中的故事管理与时间安排策略在项目规划和执行过程中,合理的时间安排以及有效的故事管理是确保项目顺利进行的关键因素。以下将详细探讨团队在时间安排、故事规划以及相关操作中的各种策略和方法。1. 时间

2026/06/30 10:17:19

网站建设与维护网站建设中图片

在论文、报告、内容创作越来越严格的时代,查AI率、检测AI率、降AI率已经成为学生、写作者、博主的日常需求。很多同学因为 AI率过高被导师指出“AI痕迹太重”,甚至退回重写

2026/06/30 10:45:51