2010-03-05 127 views

回答

1

你必须实现并提供一个功能并指向它。

例如:

bool myEventFilter(void *message, long *result) 
{ 
    // do something with message and result 
} 

,并调用它是这样的:

app->setEventFilter(myEventFilter); 
+0

感谢您的回答。但有了这个实现,我无法捕捉除定时器以外的任何事件。 – Shabs 2010-03-06 09:10:38

+0

根据文档http://doc.trolltech.com/4.6/qcoreapplication.html#setEventFilter它应该捕获所有事件。尽管如此,我还没有尝试过。 – 2010-03-06 10:09:37

+0

非常感谢...现在工作.. – Shabs 2010-03-06 10:55:12

2

QCoreApplication继承自QObject,所以你可以调用QCoreApplication :: installEventFilter(QObject的*)。有关事件过滤器的进一步参考,请参阅here

+0

有了这个实现我面临一个问题...我只想监视所有的Mouseclicks,但如果处理'MouseClick'的子类,那么事件消息不在eventFilter中处理( )。你能帮我理解这个功能吗? 感谢您的帮助。 – Shabs 2010-03-06 09:09:27