Qt中事件过滤器eventFilter中所有枚举事件总结
Qt中事件过滤器一般是用在继承QObject的类中,但是更多的是用在继承QWidget的界面类中。在界面类中,一般用的最多的是鼠标和键盘事件,包括鼠标摁下、移入、移除、拖拽等。一般在鼠标做出相应动作时,系统就会自动发送对应事件,然后被事件过滤器捕获,从而执行逻辑业务代码。
注意:事件过滤器作用域只在该界面内有效;出了该界面,在该界面重写的事件过滤器无效!!!
也即是如果我在QPushbutton内重写的事件过滤器,只能捕获该QPushbutton的各类事件,不能捕获该按钮以外的事件!
下面代码是Qt事件过滤器中所有事件枚举类型QEvent::type定义:
enum Type {
/*
If you get a strange compiler error on the line with None,
it’s probably because you’re also including X11 headers,
which #define the symbol None. Put the X11 includes after
the Qt includes to solve this problem.
*/
None = 0, // invalid event
Timer = 1, // timer event
MouseButtonPress = 2, // mouse button pressed
MouseButtonRelease = 3, // mouse button released
MouseButtonDblClick = 4, // mouse button double click
MouseMove = 5, // mouse move
KeyPress = 6, // key pressed
KeyRelease = 7, // key released
FocusIn = 8, // keyboard focus received
FocusOut = 9, // keyboard focus lost
FocusAboutToChange = 23, // keyboard focus is about to be lost
Enter = 10, // mouse enters widget
Leave = 11, // mouse leaves widget
Paint = 12, // paint widget
Move = 13, // move widget
Resize = 14, // resize widget
Create = 15, // after widget creation
Destroy = 16, // during widget destruction
Show = 17, // widget is shown
Hide = 18, // widget is hidden
Close = 19, // request to close widget
Quit = 20, // request to quit application
ParentChange = 21, // widget has been reparented
ParentAboutToChange = 131, // sent just before the parent change is done
ThreadChange = 22, // object has changed threads
WindowActivate = 24, // window was activated
WindowDeactivate = 25, // window was deactivated
ShowToParent = 26, // widget is shown to parent
HideToParent = 27, // widget is hidden to parent
Wheel = 31, // wheel event
WindowTitleChange = 33, // window title changed
WindowIconChange = 34, // icon changed
ApplicationWindowIconChange = 35, // application icon changed
ApplicationFontChange = 36, // application font changed
ApplicationLayoutDirectionChange = 37, // application layout direction changed
ApplicationPaletteChange = 38, // application palette changed
PaletteChange = 39, // widget palette changed
Clipboard = 40, // internal clipboard event
Speech = 42, // reserved for speech input
MetaCall = 43, // meta call event
SockAct = 50, // socket activation
WinEventAct = 132, // win event activation
DeferredDelete = 52, // deferred delete event
DragEnter = 60, // drag moves into widget
DragMove = 61, // drag moves in widget
DragLeave = 62, // drag leaves or is cancelled
Drop = 63, // actual drop
DragResponse = 64, // drag accepted/rejected
ChildAdded = 68, // new child widget
ChildPolished = 69, // polished child widget
ChildRemoved = 71, // deleted child widget
ShowWindowRequest = 73, // widget’s window should be mapped
PolishRequest = 74, // widget should be polished
Polish = 75, // widget is polished
LayoutRequest = 76, // widget should be relayouted
UpdateRequest = 77, // widget should be repainted
UpdateLater = 78, // request update() later
EmbeddingControl = 79, // ActiveX embeddingActivateControl = 80, // ActiveX activationDeactivateControl = 81, // ActiveX deactivationContextMenu = 82, // context popup menuInputMethod = 83, // input methodTabletMove = 87, // Wacom tablet eventLocaleChange = 88, // the system locale changedLanguageChange = 89, // the application language changedLayoutDirectionChange = 90, // the layout direction changedStyle = 91, // internal style eventTabletPress = 92, // tablet pressTabletRelease = 93, // tablet releaseOkRequest = 94, // CE (Ok) button pressedHelpRequest = 95, // CE (?) button pressedIconDrag = 96, // proxy icon draggedFontChange = 97, // font has changedEnabledChange = 98, // enabled state has changedActivationChange = 99, // window activation has changedStyleChange = 100, // style has changedIconTextChange = 101, // icon text has changed. Deprecated.ModifiedChange = 102, // modified state has changedMouseTrackingChange = 109, // mouse tracking state has changedWindowBlocked = 103, // window is about to be blocked modallyWindowUnblocked = 104, // windows modal blocking has endedWindowStateChange = 105,ReadOnlyChange = 106, // readonly state has changedToolTip = 110,WhatsThis = 111,StatusTip = 112,ActionChanged = 113,ActionAdded = 114,ActionRemoved = 115,FileOpen = 116, // file open requestShortcut = 117, // shortcut triggeredShortcutOverride = 51, // shortcut override requestWhatsThisClicked = 118,ToolBarChange = 120, // toolbar visibility toggledApplicationActivate = 121, // deprecated. Use ApplicationStateChange instead.ApplicationActivated = ApplicationActivate, // deprecatedApplicationDeactivate = 122, // deprecated. Use ApplicationStateChange instead.ApplicationDeactivated = ApplicationDeactivate, // deprecatedQueryWhatsThis = 123, // query what's this widget helpEnterWhatsThisMode = 124,LeaveWhatsThisMode = 125,ZOrderChange = 126, // child widget has had its z-order changedHoverEnter = 127, // mouse cursor enters a hover widgetHoverLeave = 128, // mouse cursor leaves a hover widgetHoverMove = 129, // mouse cursor move inside a hover widget// last event id used = 132
#ifdef QT_KEYPAD_NAVIGATION
EnterEditFocus = 150, // enter edit mode in keypad navigation
LeaveEditFocus = 151, // enter edit mode in keypad navigation
#endif
AcceptDropsChange = 152,
ZeroTimerEvent = 154, // Used for Windows Zero timer eventsGraphicsSceneMouseMove = 155, // GraphicsViewGraphicsSceneMousePress = 156,GraphicsSceneMouseRelease = 157,GraphicsSceneMouseDoubleClick = 158,GraphicsSceneContextMenu = 159,GraphicsSceneHoverEnter = 160,GraphicsSceneHoverMove = 161,GraphicsSceneHoverLeave = 162,GraphicsSceneHelp = 163,GraphicsSceneDragEnter = 164,GraphicsSceneDragMove = 165,GraphicsSceneDragLeave = 166,GraphicsSceneDrop = 167,GraphicsSceneWheel = 168,KeyboardLayoutChange = 169, // keyboard layout changedDynamicPropertyChange = 170, // A dynamic property was changed through setProperty/propertyTabletEnterProximity = 171,TabletLeaveProximity = 172,NonClientAreaMouseMove = 173,NonClientAreaMouseButtonPress = 174,NonClientAreaMouseButtonRelease = 175,NonClientAreaMouseButtonDblClick = 176,MacSizeChange = 177, // when the Qt::WA_Mac{Normal,Small,Mini}Size changesContentsRectChange = 178, // sent by QWidget::setContentsMargins (internal)MacGLWindowChange = 179, // Internal! the window of the GLWidget has changedFutureCallOut = 180,GraphicsSceneResize = 181,GraphicsSceneMove = 182,CursorChange = 183,ToolTipChange = 184,NetworkReplyUpdated = 185, // Internal for QNetworkReplyGrabMouse = 186,UngrabMouse = 187,GrabKeyboard = 188,UngrabKeyboard = 189,MacGLClearDrawable = 191, // Internal Cocoa, the window has changed, so we must clearStateMachineSignal = 192,StateMachineWrapped = 193,TouchBegin = 194,TouchUpdate = 195,TouchEnd = 196,
#ifndef QT_NO_GESTURES
NativeGesture = 197, // QtGui native gesture
#endif
RequestSoftwareInputPanel = 199,
CloseSoftwareInputPanel = 200,
WinIdChange = 203,
#ifndef QT_NO_GESTURES
Gesture = 198,
GestureOverride = 202,
#endif
ScrollPrepare = 204,
Scroll = 205,
Expose = 206,InputMethodQuery = 207,OrientationChange = 208, // Screen orientation has changedTouchCancel = 209,ThemeChange = 210,SockClose = 211, // socket closedPlatformPanel = 212,StyleAnimationUpdate = 213, // style animation target should be updatedApplicationStateChange = 214,WindowChangeInternal = 215, // internal for QQuickWidgetScreenChangeInternal = 216,PlatformSurface = 217, // Platform surface created or about to be destroyedPointer = 218, // QQuickPointerEvent; ### Qt 6: QPointerEventTabletTrackingChange = 219, // tablet tracking state has changed// 512 reserved for Qt Jambi's MetaCall event// 513 reserved for Qt Jambi's DeleteOnMainThread eventUser = 1000, // first user event idMaxUser = 65535 // last user event id
}
————————————————
Qt中事件过滤器eventFilter中所有枚举事件总结相关推荐
- 解决Qt graphis-view框架中,上层图元接收hover事件导致底层图元接收不到的问题
问题重现 两个图元,一个在上面,名为item_up,一个在下面,名为item_below. 当item_up->setAcceptHoverEvents(true)时,item_up可以接收到鼠 ...
- QT事件过滤器eventFilter函数
Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理. 假设我们有一个CustomerInfoDialog控件,由一些QLineEd ...
- Qt安装事件过滤器、过滤子控件事件、截获控件按键、鼠标事件
Qt安装事件过滤器.过滤子控件事件.截获控件按键.鼠标事件 Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理. 假设我们有一个C ...
- Qt之事件过滤器(eventFilter)详解
1.2.1 Qt中事件是如何进行传递 1.2.2 Qt中的事件过滤器(eventFilter) 1.2.3 如何自己模拟发送事件消息 一.Qt中事件过滤器详解 我们先看下另外两个相关的方法,一个是给对 ...
- Qt 图形视图框架中的事件处理和传播
目录名字 Qt 图形视图框架中的事件处理和传播 要点: Qt 图形视图框架中的事件处理和传播 图形视图框架在一些动画类的应用程序上经常会用到.该框架中的事件处理与传播机制也是经常会涉及. 程序设计核心 ...
- 在C#中使用代理的方式触发事件
事件(event)是一个非常重要的概念,我们的程序时刻都在触发和接收着各种事件:鼠标点击事件,键盘事件,以及处理操作系统的各种事件.所谓事件就是由某个对象发出的消息.比如用户按下了某个按钮,某个文件发 ...
- 原生js中如果有多个onload事件解决方案
原生js中如果有多个onload事件解决方案 参考文章: (1)原生js中如果有多个onload事件解决方案 (2)https://www.cnblogs.com/happy-8090/p/11830 ...
- 在C#中使用代理的方式触发事件 (委托和事件 ) (转)
From: http://www.cnblogs.com/gzhnan/articles/1859477.html 在C#中使用代理的方式触发事件 (委托和事件 ) 事件(event)是一个非常重要 ...
- mysql等待事件类型_Oracle中常见的33个等待事件小结
在Oracle 10g中的等待事件有872个,11g中等待事件1116个. 我们可以通过v$event_name 视图来查看等待事件的相关信息 一. 等待事件的相关知识 1.1 等待事件主要可以分为两 ...
最新文章
- 国内IT图书出版的未来之路
- 有人能用外行人解释什么是JSONP吗? [重复]
- oracle在哪些系统运行,ORACLE 查看系统运行情况
- 获取go语言官方文档的两个方法
- 十二. 一步步破解JEB 2.0demo版二
- Unity3D游戏-愤怒的小鸟游戏源码和教程(二)
- 微信环境中如何实现下载apk文件的下载
- 移动端https抓包那些事--初级篇
- 深度学习之表面缺陷识别
- 【算法系列之十四】最大子序和
- 【题解】(图论) —— POJ 0714:兔子与星空
- TDDFT计算软件Octopus学习笔记(七): 二维材料计算(WS2)
- 构建工具 | Gulp压缩JavaScript文件
- 计算机室内设计绘图,室内设计中手绘和电脑制图的比较
- excel 在一列中查找某个值的出现次数 countif函数
- 行链接(Row Chaining)和行迁移(Row Migration)
- spss分析方法-多个独立样本检验(转载)
- 笔试题-武汉珞珈德毅笔试题
- 网络协议 交换机基础
- layui点击按钮弹出另一个界面(增加界面),layui弹出层
热门文章
- 苹果手机android设备可以删除吗,手机系统自带软件怎么卸载?苹果/安卓软件卸载攻略...
- 误将桌面的计算机图标删除,如何恢复误删除的"桌面图标"
- 抓包工具mitmprox
- 【华为云技术分享】华为云弹性云服务器ECS搭建FTP服务实践
- 涉及 GitHub、GitLab,研究人员发现 70 个 Web 缓存中毒漏洞;微软:许多攻击者仍对 Log4j 漏洞加以利用;VS 2022 新版发布 | 开源日报
- Linux部署人大金仓(Kingbase8)
- HDOJ 2021-2030
- 路由器上的usb接口有什么用_解决USB接口不够用,毕亚兹Type-C扩展坞体验测评
- 施米德胡贝,被遗忘的人工智能教父
- 个人博客系统【项目篇】