(1) 理论记录,官方大师解释: close ( ) 函数会关闭本窗体,但它会在关闭前触发 QCloseEvent 事件,事件会进入事件队列,并被组件处理,事件处理的过程中还存在事件传播 propagation ,在容器中依次向顶层组件传播。如果在事件处理函数 closeEvent(QCloseEvent * e ) 中忽略了此事件,那么可以神奇的改变 close()函数的关闭语义,导致关闭组件这一操作无法实现。

(2)采用自定义类的方式,重写事件处理虚函数 :

++测试结果如下 :

++ 以及 :

(3)用事件过滤器再做一遍测试 :

(4)
谢谢
629

被折叠的 条评论
为什么被折叠?



