Qt之QEvent(所有事件的翻译)

本文深入探讨Qt的事件系统,重点解析QEvent类及其在不同事件处理中的应用,包括窗口系统事件、用户自定义事件等,帮助开发者理解Qt事件的传递和处理流程。
摘要由CSDN通过智能技术生成
Qt之QEvent(所有事件的翻译)
QEvent 类是所有事件类的基类,事件对象包含事件参数。

Qt 的主事件循环(QCoreApplication::exec())从事件队列中获取本地窗口系统事件,将它们转化为 QEvents,然后将转换后的事件发送给 QObjects。

一般来说,事件来自底层窗口系统(spontaneous() 返回 true),但也可以使用 QCoreApplication::sendEvent() 和 QCoreApplication::postEvent()(spontaneous() 返回 false)来手动发送事件。

QObjects 通过调用它们的 QObject::event() 函数接收事件。该函数可以在子类中重新实现,来处理自定义的事件以及添加额外的事件类型,QWidget::event() 就是一个很著名的例子。默认情况下,像 QObject::timerEvent() 和 QWidget::mouseMoveEvent() 这样的事件可以被发送给事件处理函数。QObject::installEventFilter() 允许一个对象拦截发往另一个对象的事件。

基本的 QEvent 只包含了一个事件类型参数。QEvent 的子类包含了额外的描述特定事件的参数。

 

简述
成员类型
属性文档
成员函数文档
 

成员类型
枚举QEvent::Type:

这个枚举类型定义了Qt中有效的事件类型。事件类型和每个类型的专门类如下:

常量	值	描述
QEvent::None	0	不是一个事件
QEvent::ActionAdded	114	一个新 action 被添加(QActionEvent)
QEvent::ActionChanged	113	一个 action 被改变(QActionEvent)
QEvent::ActionRemoved	115	一个 action 被移除(QActionEvent)
QEvent::ActivationChange	99	Widget 的顶层窗口激活状态发生了变化
QEvent::ApplicationActivate	121	这个枚举已被弃用,使用 ApplicationStateChange 代替
QEvent::ApplicationActivated	ApplicationActivate	这个枚举已被弃用,使用 ApplicationStateChange 代替
QEvent::ApplicationDeactivate	122	这个枚举已被弃用,使用 ApplicationStateChange 代替
QEvent::ApplicationFontChange	36	应用程序的默认字体发生了变化
QEvent::ApplicationLayoutDirectionChange	37	应用程序的默认布局方向发生了变化
QEvent::ApplicationPaletteChange	38	应用程序的默认调色板发生了变化
QEvent::ApplicationStateChange	214	应用程序的状态发生了变化
QEvent::ApplicationWindowIconChange	35	应用程序的图标发生了变化
QEvent::ChildAdded	68	一个对象获得孩子(QChildEvent)
QEvent::ChildPolished	69	一个部件的孩子被抛光(QChildEvent)
QEvent::ChildRemoved	71	一个对象时区孩子(QChildEvent)
QEvent::Clipboard	40	剪贴板的内容发生改变
QEvent::Close	19	Widget 被关闭(QCloseEvent)
QEvent::CloseSoftwareInputPanel	200	一个部件要关闭软件输入面板(SIP)
QEvent::ContentsRectChange	178	部件内容区域的外边距发生改变
QEvent::ContextMenu	82	上下文弹出菜单(QContextMenuEvent)
QEvent::CursorChange	183	部件的鼠标发生改变
QEvent::DeferredDelete	52	对象被清除后将被删除(QDeferredDeleteEvent)
QEvent::DragEnter	60	在拖放操作期间鼠标进入
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vqt5_qt6

你的鼓励是我们创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值