我的程序在 Qt 上运行,我有一个问题,网站上有免费的答案。我们的产品需要在用户移动鼠标的同时更新图像,但是更新图像非常耗时。如果用户快速移动鼠标,系统会产生大量的鼠标移动事件,最终导致后台进程阻塞。因此,我们需要过滤掉部分事件。我通过在 QApplication 中插入事件过滤器来过滤鼠标移动事件:
qApp->insertEventFilter(this)
一旦我捕捉到鼠标事件,我将存储 QMouseEvent 和 QObject 的指针,以及活动的 QTimer。其他 mouseMouseEvent 将可以在超时之前覆盖它们。超时后,将发布最后一个事件。我不能使用:
QApplication::sendEvent(XX) or postEvent(xx)
因为它会再次被我的事件过滤器捕获。我怎样才能让它工作?