首页 > 其他 > 详细

Qt 的事件

时间:2019-01-07 16:56:45      阅读:196      评论:0      收藏:0      [点我收藏+]

一个事件由一个特定的QEvent子类来表示,如QMouseEvent、QKeyEvent

处理一个事件的方法:

方法一:重新实现部件的paintEvent、mousePressEvent等事件处理函数。 最常用,不过只能处理特定部件的特点事件。

方法二:在对象上安装事件过滤器。使用事件过滤器可以在一个界面类中同时处理不同子部件的不同事件。  也比较常用

方法三:重新实现event函数,类似于第一种,但可以处理多种不同事件。

 

Qt 中,事件的传递顺序是:

1. 先进入事件过滤器。

2. 然后通过事件过滤器可以判断是哪个部件发生的事件。

3. 再执行该焦点部件的event()函数。

4. 最后是焦点部件的事件处理函数,如keyPressEvent()。

5. 如果焦点部件忽略了该事件(event->ignore()),那么执行父部件的事件处理函数。

 

注意:event函数和事件处理函数是在焦点部件内重新定义的,而事件过滤器则是在焦点部件的父部件中重新定义。

 

Qt 的事件

原文:https://www.cnblogs.com/ll-10/p/10233823.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!