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已有的类,在子类中重写父类的事件处理函数。
相关推荐
美味小鱼9 分钟前
Rust 所有权特性详解
开发语言·后端·rust
Bluesonli18 分钟前
第 1 天:UE5 C++ 开发环境搭建,全流程指南
开发语言·c++·ue5·虚幻·unreal engine
wjs202424 分钟前
三路排序算法
开发语言
struggle20251 小时前
helm-dashboard为Helm设计的缺失用户界面 - 可视化您的发布,它提供了一种基于UI的方式来查看已安装的Helm图表
开发语言·ui·计算机视觉·编辑器·知识图谱
独自破碎E1 小时前
【4】阿里面试题整理
java·开发语言·算法·排序算法·动态规划
慕璃嫣1 小时前
Haskell语言的多线程编程
开发语言·后端·golang
32码奴1 小时前
C#基础知识
开发语言·c#
张太行_2 小时前
C++中的析构器(Destructor)(也称为析构函数)
开发语言·c++
SteveKenny4 小时前
Python 梯度下降法(六):Nadam Optimize
开发语言·python
Hello.Reader5 小时前
深入浅出 Rust 的强大 match 表达式
开发语言·后端·rust