事件是Qt中比较难理解的概念,需要花费大量时间钻研。
下面简单讲解 accept() 与 ignore() 在程序中的传递逻辑:
1、存在基类 A,其子类 B,层次部件 mainwindow,分别创建类的实例 testA 、 testB(&mainwindow)
2、testB收到 事件C,若选择 accept() 则由testB处理;若选择 ignore() 则传递至 mainwindow 接收处理;
3、可见,事件的传递是在组件逻辑层上的,而不是类继承层上的
4、事件的传递逻辑遵循后进先出原则,从部件最外层开始传递事件:testB->mainwindow->QMainWindow->QWidget->QObject
希望大家有所收获,新手一名,如有出错烦请指教