过滤鼠标移动事件并再次发送

时间:2013-04-11 12:38:35

标签: qt mouseevent simulate

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

qApp->insertEventFilter(this)

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

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

因为它会被我的事件过滤器再次捕获。 我怎样才能使它发挥作用?

1 个答案:

答案 0 :(得分:0)

不要过滤事件。而不是那样,更改负责生成数据的后台工作人员,以确保您不会花时间处理您不需要的东西。