0

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

qApp->insertEventFilter(this)

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

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

因为它会再次被我的事件过滤器捕获。我怎样才能让它工作?

4

1 回答 1

0

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

于 2013-04-11T12:42:57.463 回答