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已有的类,在子类中重写父类的事件处理函数。
相关推荐
少控科技31 分钟前
QT新手日记024 - QT001程序代码
开发语言·qt
码农水水5 小时前
国家电网Java面试被问:TCP的BBR拥塞控制算法原理
java·开发语言·网络·分布式·面试·wpf
浮尘笔记6 小时前
Go语言临时对象池:sync.Pool的原理与使用
开发语言·后端·golang
咕噜咕噜啦啦6 小时前
Java期末习题速通
java·开发语言
BHXDML7 小时前
第七章:类与对象(c++)
开发语言·c++
梦梦代码精7 小时前
BuildingAI vs Dify vs 扣子:三大开源智能体平台架构风格对比
开发语言·前端·数据库·后端·架构·开源·推荐算法
又见野草8 小时前
C++类和对象(中)
开发语言·c++
kgduu8 小时前
js之表单
开发语言·前端·javascript
钊兵8 小时前
java实现GeoJSON地理信息对经纬度点的匹配
java·开发语言
毕设源码-钟学长8 小时前
【开题答辩全过程】以 基于Python的健康食谱规划系统的设计与实现为例,包含答辩的问题和答案
开发语言·python