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 | 在拖放操作期间鼠标进入窗口部件(QDragEnterEvent) |
| QEvent::DragLeave | 62 | 在拖放操作期间鼠标离开窗口部件(QDragLeaveEvent) |
| QEvent::DragMove | 61 | 拖放操作正在进行(QDragMoveEvent) |
| QEvent::Drop | 63 | 拖放操作完成(QDropEvent) |
| QEvent::DynamicPropertyChange | 170 | 动态属性已添加、更改或从对象中删除 |
| QEvent::EnabledChange | 98 | 部件的 enabled 状态已更改 |
| QEvent::Enter | 10 | 鼠标进入部件的边界(QEnterEvent) |
| QEvent::EnterEditFocus | 150 | 编辑部件获得焦点进行编辑,必须定义 QT_KEYPAD_NAVIGATION |
| QEvent::EnterWhatsThisMode | 124 | 当应用程序进入“What’s This?”模式,发送到 toplevel 顶层部件 |
| QEvent::Expose | 206 | 当其屏幕上的内容无效,发送到窗口,并需要从后台存储刷新 |
| QEvent::FileOpen | 116 | 文件打开请求(QFileOpenEvent) |
| QEvent::FocusIn | 8 | 部件或窗口获得键盘焦点(QFocusEvent) |
| QEvent::FocusOut | 9 | 部件或窗口失去键盘焦点(QFocusEvent) |
| QEvent::FocusAboutToChange | 23 | 部件或窗口焦点即将改变(QFocusEvent) |
| QEvent::FontChange | 97 | 部件的字体发生改变 |
| QEvent::Gesture | 198 | 触发了一个手势(QGestureEvent) |
| QEvent::GestureOverride | 202 | 触发了手势覆盖(QGestureEvent) |
| QEvent::GrabKeyboard | 188 | Item 获得键盘抓取(仅限 QGraphicsItem) |
| QEvent::GrabMouse | 186 | 项目获得鼠标抓取(仅限 QGraphicsItem) |
| QEvent::GraphicsSceneContextMenu | 159 | 在图形场景上的上下文弹出菜单(QGraphicsScene ContextMenuEvent) |
| QEvent::GraphicsSceneDragEnter | 164 | 在拖放操作期间,鼠标进入图形场景(QGraphicsSceneDragDropEvent) |
| QEvent::GraphicsSceneDragLeave | 166 | 在拖放操作期间鼠标离开图形场景(QGraphicsSceneDragDropEvent) |
| QEvent::GraphicsSceneDragMove | 165 | 在场景上正在进行拖放操作(QGraphicsSceneDragDropEvent) |
| QEvent::GraphicsSceneDrop | 167 | 在场景上完成拖放操作(QGraphicsSceneDragDropEvent) |
| QEvent::GraphicsSceneHelp | 163 | 用户请求图形场景的帮助(QHelpEvent) |
| QEvent::GraphicsSceneHoverEnter | 160 | 鼠标进入图形场景中的悬停项(QGraphicsSceneHoverEvent) |
| QEvent::GraphicsSceneHoverLeave | 162 | 鼠标离开图形场景中一个悬停项(QGraphicsSceneHoverEvent) |
| QEvent::GraphicsSceneHoverMove | 161 | 鼠标在图形场景中的悬停项内移动(QGraphicsSceneHoverEvent) |
| QEvent::GraphicsSceneMouseDoubleClick | 158 | 鼠标在图形场景中再次按下(双击)(QGraphicsSceneMouseEvent) |
| QEvent::GraphicsSceneMouseMove | 155 | 鼠标在图形场景中移动(QGraphicsSceneMouseEvent) |
| QEvent::GraphicsSceneMousePress | 156 | 鼠标在图形场景中按下(QGraphicsSceneMouseEvent) |
| QEvent::GraphicsSceneMouseRelease | 157 | 鼠标在图形场景中释放(QGraphicsSceneMouseEvent) |
| QEvent::GraphicsSceneMove | 182 | 部件被移动(QGraphicsSceneMoveEvent) |
| QEvent::GraphicsSceneResize | 181 | 部件已调整大小(QGraphicsSceneResizeEvent) |
| QEvent::GraphicsSceneWheel | 168 | 鼠标滚轮在图形场景中滚动(QGraphicsSceneWheelEvent) |
| QEvent::Hide | 18 | 部件被隐藏(QHideEvent) |
| QEvent::HideToParent | 27 | 子部件被隐藏(QHideEvent) |
| QEvent::HoverEnter | 127 | 鼠标进入悬停部件(QHoverEvent) |
| QEvent::HoverLeave | 128 | 鼠标留离开悬停部件(QHoverEvent) |
| QEvent::HoverMove | 129 | 鼠标在悬停部件内移动(QHoverEvent) |
| QEvent::IconDrag | 96 | 窗口的主图标被拖走(QIconDragEvent) |
| QEvent::IconTextChange | 101 | 部件的图标文本发生改变(已弃用) |
| QEvent::InputMethod | 83 | 正在使用输入法(QInputMethodEvent) |
| QEvent::InputMethodQuery | 207 | 输入法查询事件(QInputMethodQueryEvent) |
| QEvent::KeyboardLayoutChange | 169 | 键盘布局已更改 |
| QEvent::KeyPress | 6 | 键盘按下(QKeyEvent) |
| QEvent::KeyRelease | 7 | 键盘释放(QKeyEvent) |
| QEvent::LanguageChange | 89 | 应用程序翻译发生改变 |
| QEvent::LayoutDirectionChange | 90 | 布局的方向发生改变 |
| QEvent::LayoutRequest | 76 | 部件的布局需要重做 |
| QEvent::Leave | 11 | 鼠标离开部件的边界 |
| QEvent::LeaveEditFocus | 151 | 编辑部件失去编辑的焦点,必须定义 QT_KEYPAD_NAVIGATION |
| QEvent::LeaveWhatsThisMode | 125 | 当应用程序离开“What’s This?”模式,发送到顶层部件 |
| QEvent::LocaleChange | 88 | 系统区域设置发生改变 |
| QEvent::NonClientAreaMouseButtonDblClick | 176 | 鼠标双击发生在客户端区域外 |
| QEvent::NonClientAreaMouseButtonPress | 174 | 鼠标按钮按下发生在客户端区域外 |
| QEvent::NonClientAreaMouseButtonRelease | 175 | 鼠标按钮释放发生在客户端区域外 |
| QEvent::NonClientAreaMouseMove | 173 | 鼠标移动发生在客户区域外 |
| QEvent::MacSizeChange | 177 | 用户更改了部件的大小(仅限 OS X) |
| QEvent::MetaCall | 43 | 通过 QMetaObject::invokeMethod() 调用异步方法 |
| QEvent::ModifiedChange | 102 | 部件修改状态发生改变 |
| QEvent::MouseButtonDblClick | 4 | 鼠标再次按下(QMouseEvent) |
| QEvent::MouseButtonPress | 2 | 鼠标按下(QMouseEvent) |
| QEvent::MouseButtonRelease | 3 | 鼠标释放(QMouseEvent) |
| QEvent::MouseMove | 5 | 鼠标移动(QMouseEvent) |
| QEvent::MouseTrackingChange | 109 | 鼠标跟踪状态发生改变 |
| QEvent::Move | 13 | 部件的位置发生改变(QMoveEvent) |
| QEvent::NativeGesture | 197 | 系统检测到手势(QNativeGestureEvent) |
| QEvent::OrientationChange | 208 | 屏幕方向发生改变(QScreenOrientationChangeEvent) |
| QEvent::Paint | 12 | 需要屏幕更新(QPaintEvent) |
| QEvent::PaletteChange | 39 | 部件的调色板发生改变 |
| QEvent::ParentAboutToChange | 131 | 部件的 parent 将要更改 |
| QEvent::ParentChange | 21 | 部件的 parent 发生改变 |
| QEvent::PlatformPanel | 212 | 请求一个特定于平台的面板 |
| QEvent::PlatformSurface | 217 | 原生平台表面已创建或即将被销毁(QPlatformSurfaceEvent) |
| QEvent::Polish | 75 | 部件被抛光 |
| QEvent::PolishRequest | 74 | 部件应该被抛光 |
| QEvent::QueryWhatsThis | 123 | 如果部件有“What’s This?”帮助,应该接受事件 |
| QEvent::ReadOnlyChange | 106 | 部件的 read-only 状态发生改变 |
| QEvent::RequestSoftwareInputPanel | 199 | 部件想要打开软件输入面板(SIP) |
| QEvent::Resize | 14 | 部件的大小发生改变(QResizeEvent) |
| QEvent::ScrollPrepare | 204 | 对象需要填充它的几何信息(QScrollPrepareEvent) |
| QEvent::Scroll | 205 | 对象需要滚动到提供的位置(QScrollEvent) |
| QEvent::Shortcut | 117 | 快捷键处理(QShortcutEvent) |
| QEvent::ShortcutOverride | 51 | 按下按键,用于覆盖快捷键(QKeyEvent) |
| QEvent::Show | 17 | 部件显示在屏幕上(QShowEvent) |
| QEvent::ShowToParent | 26 | 子部件被显示 |
| QEvent::SockAct | 50 | Socket 激活,用于实现 QSocketNotifier |
| QEvent::StateMachineSignal | 192 | 信号被传递到状态机(QStateMachine::SignalEvent) |
| QEvent::StateMachineWrapped | 193 | 事件是一个包装器,用于包含另一个事件(QStateMachine::WrappedEvent) |
| QEvent::StatusTip | 112 | 状态提示请求(QStatusTipEvent) |
| QEvent::StyleChange | 100 | 部件的样式发生改变 |
| QEvent::TabletMove | 87 | Wacom 写字板移动(QTabletEvent) |
| QEvent::TabletPress | 92 | Wacom 写字板按下(QTabletEvent) |
| QEvent::TabletRelease | 93 | Wacom 写字板释放(QTabletEvent) |
| QEvent::OkRequest | 94 | Ok 按钮在装饰前被按下,仅支持 Windows CE |
| QEvent::TabletEnterProximity | 171 | Wacom 写字板进入接近事件(QTabletEvent),发送到 QApplication |
| QEvent::TabletLeaveProximity | 172 | Wacom 写字板离开接近事件(QTabletEvent),发送到 QApplication |
| QEvent::ThreadChange | 22 | 对象被移动到另一个线程。这是发送到此对象的最后一个事件在上一个线程中,参见:QObject::moveToThread() |
| QEvent::Timer | 1 | 定时器事件(QTimerEvent) |
| QEvent::ToolBarChange | 120 | 工具栏按钮在 OS X 上进行切换 |
| QEvent::ToolTip | 110 | 一个 tooltip 请求(QHelpEvent) |
| QEvent::ToolTipChange | 184 | 部件的 tooltip 发生改变 |
| QEvent::TouchBegin | 194 | 触摸屏或轨迹板事件序列的开始(QTouchEvent) |
| QEvent::TouchCancel | 209 | 取消触摸事件序列(QTouchEvent) |
| QEvent::TouchEnd | 196 | 触摸事件序列结束(QTouchEvent) |
| QEvent::TouchUpdate | 195 | 触摸屏事件(QTouchEvent) |
| QEvent::UngrabKeyboard | 189 | Item 失去键盘抓取(QGraphicsItem) |
| QEvent::UngrabMouse | 187 | Item 失去鼠标抓取(QGraphicsItem、QQuickItem) |
| QEvent::UpdateLater | 78 | 部件应该排队在以后重新绘制 |
| QEvent::UpdateRequest | 77 | 部件应该被重绘 |
| QEvent::WhatsThis | 111 | 部件应该显示“What’s This”帮助(QHelpEvent) |
| QEvent::WhatsThisClicked | 118 | 部件的“What’s This”帮助链接被点击 |
| QEvent::Wheel | 31 | 鼠标滚轮滚动(QWheelEvent) |
| QEvent::WinEventAct | 132 | 发生了 Windows 特定的激活事件 |
| QEvent::WindowActivate | 24 | 窗口已激活 |
| QEvent::WindowBlocked | 103 | 窗口被模态对话框阻塞 |
| QEvent::WindowDeactivate | 25 | 窗户被停用 |
| QEvent::WindowIconChange | 34 | 窗口的图标发生改变 |
| QEvent::WindowStateChange | 105 | 窗口的状态(最小化、最大化或全屏)发生改变(QWindowStateChangeEvent) |
| QEvent::WindowTitleChange | 33 | 窗口的标题发生改变 |
| QEvent::WindowUnblocked | 104 | 一个模态对话框退出后,窗口将不被阻塞 |
| QEvent::WinIdChange | 203 | 本地窗口的系统标识符发生改变 |
| QEvent::ZOrderChange | 126 | 部件的 z 值发生了改变,该事件不会发送给顶层窗口 |
用户事件的值应该介于 User 和 MaxUser 之间。
| 常量 | 值 | 描述 |
|---|---|---|
| QEvent::User | 1000 | 用户定义的事件 |
| QEvent::MaxUser | 65535 | 最后的用户事件 ID |
为方便起见,可以使用 registerEventType() 函数来注册和存储一个自定义事件类型,这样做会避免意外地重用一个自定义事件类型。
属性文档
accepted : bool
设置 accept 标志意味着接收器需要该事件,不需要的事件可能会被传递给它的父窗口。默认情况下,isAccepted() 设置为 true。不能依赖于此,因为子类可能会在子类构造器中清除该标志。
出于简便考虑,accept 标志可以通过 accept() 设置,ignore() 清除。
访问函数:
- bool isAccepted() const
- void setAccepted(bool accepted)
成员函数文档
void QEvent::accept()
设置事件对象的 accept 标志,等价于 setAccepted(true)。设置 accept 标志意味着接收器需要该事件,不需要的事件可能会被传递给它的父窗口。
void QEvent::ignore()
清除事件对象的 accept 标志,等价于 setAccepted(false)。清除 accept 标志意味着事件接收器不需要该事件,不需要的事件可能会被传递给它的父窗口。
[static] int QEvent::registerEventType(int hint = -1)
注册并返回一个自定义事件类型。如果 hint 是合法的,则会返回这个值;否则,会返回介于 QEvent::User 和 QEvent::MaxUser 之间的一个尚未被注册的值。如果其值不在 QEvent::User 和 QEvent::MaxUser 之间,hint 值将被忽略。如果可用的值被使用或程序关闭,将返回 -1。该函数是线程安全的。
bool QEvent::spontaneous() const
如果事件由应用程序之外产生的,比如一个系统事件,返回 true,否则返回 false。对于绘制事件,该函数的返回值是未定义的。
Type QEvent::type() const
返回事件的类型
http://blog.csdn.net/u011012932/article/details/51933153
QEvent大全,有中文解释的更多相关文章
- LoadRunner函数大全之中文解释
LoadRunner函数大全之中文解释
- LoadRunner 函数大全之中文解释
LoadRunner 函数大全之中文解释 // sapgui_table_set_column_selected 模拟用户 // 单击表中的列标题. int sapgui_table_set_colu ...
- Linux常用命令英文全称与中文解释Linux系统
Linux常用命令英文全称与中文解释Linux系统(转) Linux常用命令英文全称与中文解释Linux系统 man: Manual 意思是手册,可以用这个命令查询其他命令的用法. pwd:Pri ...
- gattAttribute_t 含义 中文解释
1. gattAttribute_t 是一个结构体数据类型,里面存放了各种类型的数据. 现在 看看 TI 是怎么描述的,如下: /** * @brief GATT Attribute form ...
- Linux常用命令英文全称与中文解释 (pwd、su、df、du等)
https://blog.csdn.net/qq_40334837/article/details/83819735 Linux常用命令英文全称与中文解释 apt: Advanced Packagin ...
- 自然语言分析工具Hanlp依存文法分析python使用总结(附带依存关系英文简写的中文解释)
最近在做一个应用依存文法分析来提取文本中各种关系的词语的任务.例如:text=‘新中国在马克思的思想和恩格斯的理论阔步向前’: 我需要提取这个text中的并列的两个关系,从文中分析可知,“马克思的思想 ...
- mongodb 学习之——mongod --help 中文解释
中文解释如下: -------------------------------------------------------------------------------- --quiet # 安 ...
- Redis命令大全&中文解释&在线测试命令工具&在线中文文档
在线测试命令地址:http://try.redis.io/ 官方文档:http://redis.io/commands http://redis.io/documentation Redis 命令参考 ...
- Mysql 函数大全- 5.6 中文解释函数参考
mysql 函数大全 5.6 函数参考 5.6函数参考 (只翻译部分,细节查看相关英文版) 12.1功能和操作员参考 12.2表达式评估中的类型转换 12.3运营商 12.4控制流功能 12.5 ...
随机推荐
- CentOS设置服务开机启动的方法
CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd.mysqld.postfix等,安装后 ...
- HTML5特性:使用async属性异步加载执行JavaScript
HTML5让我兴奋的一个最大的原因是,它里面实现的新功能和新特征都是我们长久以来一直期待的.比如,我以前一直在使用placeholders,但以前必须要用JavaScript实现.而HTML5里给Ja ...
- Linq--扩展方法
如果现在有一个这样的需求,求筛选出来的大于20MB的进程的和,常用的方法是写一个静态方法传进去一个ProcessData列表 比如: public static Int64 TotalMemory( ...
- 简单的优化处理 By LINQ TO SQL
最近在做关于新浪微博授权的一些minisite,数据库并不复杂,所以在数据打交道这块采用了linqtosql,开发起来更快更简单...但是随着用户访问逐渐增多,用户上传的图片也越来越多,因为首页是一个 ...
- C++实现数字媒体二维图像变换
C++实现数字媒体二维图像变换 必备环境 glut.h 头文件 glut32.lib 对象文件库 glut32.dll 动态连接库 程序说明 C++实现了用glut画正方形,画三角形的功能.并附带放大 ...
- int main(int argc,char* argv[]) 简单理解
(1)第一个int代表整个main函数的返回值,若函数正常执行完毕,返回0,异常返回则是-1 (2)int argc代表命令行参数的总个数,既然是个数,那就是整型的,即:int; (3)char* a ...
- cocos中BatchNode精灵集合的使用
1.CCSpriteBatchNode是为了提高渲染效率而实现的,它继承自CCNode 2.fps:帧率,是游戏中衡量流畅度的一个很重要的概念,cocos中默认的帧率是60,即一秒刷新60帧 3.精灵 ...
- [转载]非常完善的Log4net详细说明
前言 此篇文章是我见过写得最好的一片关于Log4Net的文章,内容由简入难,而且面面俱到,堪称入门和精通的佳作,特从懒惰的肥兔的转载过来. 1.概述 log4net是.Net下一个非常优秀的开源日志记 ...
- SqlBulkCopy批量写入25万条数据只需3s
Microsoft SQL Server 提供一个称为 bcp 的流行的命令提示符实用工具,用于将数据从一个表移动到另一个表(表既可以在同一个服务器上,也可以在不同服务器上).SqlBulkCopy ...
- windows server 2008 下安装openmeetings 2.2.0
经过两天的痛苦经历,终于完成了openmeetings的安装部署.其实步骤都很简单,只是网上的资料都是英文的,而且很多教程都是针对openmeeting之前的版本,导致我在部署的时候走了很多弯路.网上 ...