2013-04-11 80 views
0

我的程序正在研究Qt,并且我有一个问题,并且在网站上有免费的答案。 我们的产品需要在用户移动鼠标的同时更新图片,但更新图片非常耗时。如果用户快速移动鼠标,系统会产生大量鼠标移动事件,最终导致后台进程堵塞。因此, ,我们需要过滤掉部分事件。 我通过插入事件过滤器在过滤器的QApplication鼠标移动事件:过滤器鼠标移动事件并再次发送

qApp->insertEventFilter(this) 

一旦我赶鼠标事件,我将存储QMouseEvent和QObject的的指针,和活性QTimer。其他mouseMouseEvent可以在超时之前覆盖它们。超时后,最后一个事件将发布。 我不能使用:

QApplication::sendEvent(XX) or postEvent(xx) 

,因为它会通过我的事件过滤器再次被逮住。 我该如何使它工作?

回答

0

请勿过滤事件。取而代之的是,更改负责生成数据的后台工作人员,以确保您不会花费时间在不需要的东西上。

+0

我是Qt新手,感谢您的回答!这意味着,让我们的后台工作人员在接收事件时放下一些事件,而不是在事件发生前进行。 – 2013-04-11 15:25:01