我的程序正在研究Qt,我遇到了问题,网站上有免费的答案。 我们的产品需要在用户移动鼠标时更新图像,但更新图像非常耗时。如果用户快速移动鼠标,系统将产生大量鼠标移动事件,最终导致后台进程堵塞。因此,我们需要过滤掉部分事件。 我通过QApplication中的插入事件过滤器过滤鼠标移动事件:
qApp->insertEventFilter(this)
一旦我捕获鼠标事件,我将存储QMouseEvent和QObject的指针,以及活动的QTimer。其他mouseMouseEvent可以在超时前覆盖它们。超时后,最后一个事件将发布。 我不能用:
QApplication::sendEvent(XX) or postEvent(xx)
因为它会被我的事件过滤器再次捕获。 我怎样才能使它发挥作用?
答案 0 :(得分:0)
不要过滤事件。而不是那样,更改负责生成数据的后台工作人员,以确保您不会花时间处理您不需要的东西。