社区
Qt
帖子详情
【QT4】请教:eventfilter中的return true/false的意义?
Areos_cc
2010-11-05 03:38:54
为什么return false代表继续往下一个控件传递事件,而return true则是当前控件已经完成事件,事件不再下传?
小生愚钝,不是很明白eventfilter的工作机制,哪位高手可以详细的解答一下?
...全文
645
6
打赏
收藏
【QT4】请教:eventfilter中的return true/false的意义?
为什么return false代表继续往下一个控件传递事件,而return true则是当前控件已经完成事件,事件不再下传? 小生愚钝,不是很明白eventfilter的工作机制,哪位高手可以详细的解答一下?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Easlee
2011-02-12
打赏
举报
回复
为什么我return true后 也会继续执行父类的事件呢?
Areos_cc
2010-11-05
打赏
举报
回复
[Quote=引用 4 楼 worstboyzym 的回复:]
就我所知是这样的
但是这更多的是我自己的使用体验,没有深入研究过
你自己可以多尝试,毕竟别人说的也不一定都是对的
[/Quote]
十分感谢
WORSTBOYZYM
2010-11-05
打赏
举报
回复
就我所知是这样的
但是这更多的是我自己的使用体验,没有深入研究过
你自己可以多尝试,毕竟别人说的也不一定都是对的
Areos_cc
2010-11-05
打赏
举报
回复
[Quote=引用 2 楼 worstboyzym 的回复:]
为什么return false代表继续往下一个控件传递事件,而return true则是当前控件已经完成事件,事件不再下传?
一般处理来看基本就是这样,eventfilter有点像栈,后进先出,最后一个qApp->installEventFilter()的控件优先取得事件消息,方便我们对一些QT事件进行优先处理或者屏蔽
[/Quote]
是不是就是说,例如:up键在我的程序里对应了3个功能a/b/c,其中c是我自己写的,在执行过程中,三个功能的进入内存的顺序是a->b->c,而执行顺序是c->b->a->,如果我使用return false的话,在程序执行过程中,我按下up键,内部在执行完c以后,会继续走到b->a,如果我使用return true的话,则会在第一次执行结束以后(c结束后),就立刻结束了?
我这样理解对么?
WORSTBOYZYM
2010-11-05
打赏
举报
回复
为什么return false代表继续往下一个控件传递事件,而return true则是当前控件已经完成事件,事件不再下传?
一般处理来看基本就是这样,eventfilter有点像栈,后进先出,最后一个qApp->installEventFilter()的控件优先取得事件消息,方便我们对一些QT事件进行优先处理或者屏蔽
dbzhang800
2010-11-05
打赏
举报
回复
你不能孤立地看它,要理解它必须先了解Qt的事件系统。
Manual中有详细介绍,也可参考 http://hi.baidu.com/cyclone/blog/item/fe6ab3de0e9f2155ccbf1aea.html
Qt
Event
Filter
事件过滤器 及传递 鼠标键盘事件捕捉
Qt
Event
Filter
事件过滤器 及传递 鼠标键盘事件捕捉; https://blog.csdn.net/q610098308/article/details/126302939
QT
Event
Filter
事件过滤器样例(无bug)
安装鼠标点击事件、键盘输入事件的过滤器,输出相关信息到状态栏
Qt+
Event
Filter
+给Qt对象安装事件过滤器
给qt对象qpushbutton添加快捷键并安装事件过滤器,重写事件过滤器,过滤掉鼠标点击事件,使得只能通过快捷键ctrl+b实现按钮点击
Qt事件系统
主要是Qt时间系统的注意事项,附有代码注释,讲解。
Qt
中
点击父页面
中
其他控件,关闭弹框
环境: ubuntu12.04 32位 +
qt4
.8 32位 该demo的主要功能就是,弹框(自定义widget,非dialog)显示之后,点击该父页面的其他控件,弹框隐藏。
Qt
16,817
社区成员
26,684
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章