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

英格达(苏州)机电工程有限公司 2026/09/09 19:34: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){//进行相应逻辑处理}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

建设公司网站网站建设市场

PyRobot终极指南:5分钟快速上手机器人开发【免费下载链接】pyrobotPyRobot: An Open Source Robotics Research Platform项目地址

2026/06/30 12:28:31

苏州网站建设睢宁网站建设

移动端能运行 CosyVoice3 吗?当前依赖较高暂不适合在智能语音助手、虚拟主播和个性化有声内容爆发的今天,阿里通义实验室推出的CosyVoice3成为了开源社区关注的

2026/06/30 14:06:08

营销网站建设机械网站建设

某企业聚焦于汽车零部件的生产与装配环节的工业机器人产品。由于设备销往全国各地,配置了一只人员庞大的运维团队,但面对到越来越大的工作量与出差任务,资源调配的不足

2026/06/30 10:55:22

牡丹江网站建设绵阳网站建设

在数字化办公时代,微信已成为工作沟通的重要工具。每天面对大量重复的消息发送、群管理操作,你是否感到效率低下?wxauto作为Windows平台微信客户端自动化

2026/06/30 10:50:52

网站建设论文信阳网站建设

VoiceFixer终极指南:3步掌握免费语音修复神器,让受损音频重获新生【免费下载链接】voicefixerGeneral Speech Restoration项目地址:

2026/06/30 12:15:30

旅游网站建设方案深圳网站建设论坛

豆瓣小组互动:发起“晒出你最珍贵的老照片”修复挑战赛 —— 基于DDColor与ComfyUI的黑白老照片智能修复技术解析在豆瓣的一个安静角落,一个名为“晒出你最珍贵的老照

2026/06/30 12:55:03

广州建设网站网站建设 北京

Wan2.2-T2V-A14B 是否支持黑白名单过滤?内容审核的工程化落地建议在生成式AI迅速渗透内容生产的今天,一个现实问题摆在所有技术团队面前:我们如何既

2026/06/30 14:00:08

网站建设高端建设行业网站

在无线音频的世界里,一场静默却深刻的革命正在进行。它,就是LE Audio。这不仅仅是一次技术迭代,而是从底层重新定义声音如何被创造、传输和体验的范式转移。其

2026/06/30 13:52:38

网站建设合同咸阳网站建设

深入实践 I/O、重定向、管道和过滤器在命令行操作中,I/O、重定向、管道和过滤器是非常实用的工具。它们可以帮助我们更高效地处理数据、管理文件和监控系统。下面将详细介绍这些工具的使用方法和应用场景。1

2026/06/30 11:08:54