<Qt>事件的accept()与ignore()的传递
2017-04-18 10:19
218 查看
事件是Qt中比较难理解的概念,需要花费大量时间钻研。
下面简单讲解 accept() 与 ignore() 在程序中的传递逻辑:
1、存在基类 A,其子类 B,层次部件 mainwindow,分别创建类的实例 testA 、 testB(&mainwindow)
2、testB收到 事件C,若选择 accept() 则由testB处理;若选择 ignore() 则传递至 mainwindow 接收处理;
3、可见,事件的传递是在组件逻辑层上的,而不是类继承层上的
4、事件的传递逻辑遵循后进先出原则,从部件最外层开始传递事件:testB->mainwindow->QMainWindow->QWidget->QObject
希望大家有所收获,新手一名,如有出错烦请指教
下面简单讲解 accept() 与 ignore() 在程序中的传递逻辑:
1、存在基类 A,其子类 B,层次部件 mainwindow,分别创建类的实例 testA 、 testB(&mainwindow)
2、testB收到 事件C,若选择 accept() 则由testB处理;若选择 ignore() 则传递至 mainwindow 接收处理;
3、可见,事件的传递是在组件逻辑层上的,而不是类继承层上的
4、事件的传递逻辑遵循后进先出原则,从部件最外层开始传递事件:testB->mainwindow->QMainWindow->QWidget->QObject
希望大家有所收获,新手一名,如有出错烦请指教
相关文章推荐
- QT的父子Widget之间消息的传递(如果子类没有accept或ignore该事件,则该事件会被传递给其父亲——Qlabel与QPushButton的处理就不一样)
- <Qt>事件的幕后运作原理
- <iOS>响应事件传递, nextResponder研究
- <Linux+Qt>时间控制事件触发
- <a></a>和<button></button>标签onclick事件嵌套传递参数
- <Qt+Linux>事件过滤
- <Linux+qt>设置使用键盘控制事件响应
- <iOS>响应事件传递, nextResponder研究
- <iOS>响应事件传递, nextResponder研究
- 阻止JavaScript事件冒泡传递<转>
- <iOS>响应事件传递, nextResponder研究
- <转载>大白话系列之C#委托与事件讲解大结局
- 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此
- 在Bundle中传递自定义的Arraylist<Object>
- HTML系统学习之七 <CSS单位,HTML常用实体,HTML的头部,HTML事件>
- <转载>c# 线程同步: 详解lock,monitor,同步事件和等待句柄以及mutex
- (转)QT事件传递与事件过滤器
- JavaScript 传递参数是值传递?还是值传递啊?<转>
- 转:回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的
- <转载>C# 中的委托和事件