evenfilter
时间: 2023-08-12 16:03:46 浏览: 26
事件过滤器(event filter)是一种机制,通过在目标对象上设置一个过滤器对象,可以在过滤器对象的eventFilter()函数中处理发往目标对象的事件。通过调用目标对象的installEventFilter()函数,可以将过滤器对象安装到目标对象上。过滤器对象可以在目标对象接收到事件之前处理事件,可以检查并丢弃事件。已安装的事件过滤器可以通过调用removeEventFilter()函数来移除。\[1\]
在Qt中,可以给QCoreApplication::instance()安装一个全局级的事件过滤器,这个过滤器可以处理所有控件的所有事件,类似于重写notify()函数的功能。而且,可以有不止一个应用程序全局级的事件过滤器,甚至可以接收已禁用控件的鼠标事件。\[2\]
当事件过滤器的eventFilter()函数被调用时,它可以选择处理该事件、转发该事件或禁止该事件继续被其他对象处理。如果所有的事件过滤器都允许事件继续处理(每个过滤器处理后都返回false),那么该事件最终将被发送到目标对象。如果其中一个事件过滤器中止了这个流程(通过返回true),那么该事件将不会被发送到目标对象。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [Qt Event 以及 Event Filter 事件处理](https://blog.csdn.net/m0_73443478/article/details/128044186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)