Qt:21.事件(事件的介绍、事件的基类、用户输入事件、窗口和界面事件、其他系统事件、事件处理的思路)

目录

1.事件的介绍:

2.事件的基类:

3.派生类------用户输入事件:

4.派生类------窗口和界面事件:

5.派生类------其他系统事件:

6.事件处理的思路:


1.事件的介绍:

  • Qt 的事件(Event)是表示应用程序中的各种动作或消息的对象。负责处理用户交互、系统通知以及应用程序内的各种状态变化。
  • 事件可以由用户动作(如鼠标点击、键盘输入)引发,也可以由系统或应用程序自身产生。
  • 在Qt中,槽函数就是对事件的进一步封装,但是槽函数封装的信号有限,不能完全对应可能产生的情况。此时就需要重写事件处理函数。

2.事件的基类:

  • QEvent 是所有事件的基类,定义了事件的类型和基本属性。常见的事件类型由 QEvent::Type 枚举表示。

3.派生类------用户输入事件:

|-------------|------------------------------------------------------------------------------------------------------------------------------------------|
| QMouseEvent | * 鼠标事件,如按下、释放、移动、双击。 * 常用事件类型: * QEvent::MouseButtonPress * QEvent::MouseButtonRelease * QEvent::MouseMove * QEvent::MouseButtonDblClick |
| QKeyEvent | * 键盘事件,如按下和释放按键。 * 常用事件类型: * QEvent::KeyPress * QEvent::KeyRelease |
| QWheelEvent | * 鼠标滚轮事件。 * 常用事件类型: * QEvent::Wheel |

4.派生类------窗口和界面事件:

5.派生类------其他系统事件:

6.事件处理的思路:

  • 一般情况,是让类重写事件函数。
  • 通过多态,创建子类继承Qt已有的类,在子类中重写父类的事件处理函数。
相关推荐
网络点点滴34 分钟前
Object.create的原型继承
开发语言·javascript·ecmascript
RaidenQ40 分钟前
2024.8.24 Python,链表异常断裂问题,双链表的建立问题,全排列中的引用机制与copy的使用,最大子数组和
开发语言·python·链表
环能jvav大师42 分钟前
在Ubuntu系统中安装R语言并使用R Markdown
linux·运维·服务器·开发语言·vscode·学习·r语言
bobo-rs43 分钟前
Go语言操作文件上传和下载应用教程
开发语言·golang·iphone·文件上传·文件下载·go文件
2402_857589362 小时前
探索Objective-C中的富文本世界:NSAttributedString与NSMutableAttributedString
开发语言·macos·objective-c
zhyhgx2 小时前
Android常见界面控件(三)
android·xml·开发语言·javascript
孺子牛 for world2 小时前
Matlab程序,实现卷积神经网络
开发语言·matlab·cnn
孺子牛 for world2 小时前
python程序,实现卷积神经网络。
开发语言·python·cnn
笑川 孙3 小时前
Linux | 深入探究Linux进程控制:从fork函数到进程等待再到进程替换
linux·运维·服务器·开发语言·算法·进程
Pandaconda4 小时前
【C++ 面试 - 面向对象】每日 3 题(十)
开发语言·c++·后端·面试·职场和发展