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已有的类,在子类中重写父类的事件处理函数。
相关推荐
七七&5566 小时前
2024年08月13日 Go生态洞察:Go 1.23 发布与全面深度解读
开发语言·网络·golang
java坤坤6 小时前
GoLand 项目从 0 到 1:第八天 ——GORM 命名策略陷阱与 Go 项目启动慢问题攻坚
开发语言·后端·golang
元清加油6 小时前
【Golang】:函数和包
服务器·开发语言·网络·后端·网络协议·golang
健康平安的活着6 小时前
java之 junit4单元测试Mockito的使用
java·开发语言·单元测试
DjangoJason8 小时前
C++ 仿RabbitMQ实现消息队列项目
开发语言·c++·rabbitmq
m0_480502648 小时前
Rust 入门 KV存储HashMap (十七)
java·开发语言·rust
大阳1238 小时前
线程(基本概念和相关命令)
开发语言·数据结构·经验分享·算法·线程·学习经验
YA3338 小时前
java基础(九)sql基础及索引
java·开发语言·sql
奇树谦9 小时前
QT|windwos桌面端应用程序开发,当连接多个显示器的时候,如何获取屏幕编号?
开发语言·qt
weixin_3077791310 小时前
VS Code配置MinGW64编译GNU 科学库 (GSL)
开发语言·c++·vscode·算法