QEventfilter类的全局事件catch

时间:2013-03-19 17:21:58

标签: qt events qevent

我想为我的Qt应用程序添加帮助网页。用户可以使用Qt :: WhatsThis“工具提示”来解释主题和网页的URL。我使用Qt Designer编辑WhatsthisTooltips并使其语言独立。

现在我创建一个“LinkFilter”类进行过滤,将其安装在viewclass中并对QEvent :: WhatsThisClicked事件做出反应。这很好。

现在我会在我的应用程序中捕获每个QEvent :: WhatsThisClicked,但是我真的很麻烦将它安装在每个对话框/视图/动作/小部件上。这有一些全局的eventHandler,我可以安装我的“LinkEvent”类吗?必须有一个很好的Qt风格的方法来解决这个问题。

为了安装EventFilter,我强烈关注此视频教程http://youtu.be/DHgbYxpZkbg

1 个答案:

答案 0 :(得分:3)

http://qt-project.org/doc/qt-4.8/qapplication.html#notify

基本上你需要子类QApplication并覆盖这个函数。然后你可以检查它是否是你正在寻找的事件类型并采取相应的行动。