有没有办法将鼠标事件添加到线程?

Is there a way to add a mouse event to a thread?

我怀疑有什么东西阻止了我的鼠标事件在 Qt 中被调用。因此,我认为将事件添加到线程中可能会有所帮助。有什么办法吗?如果是这样,语法看起来如何?

Qt 标准鼠标事件到达 QWidget 个对象。这些必须始终存在于主线程中。

所以不行,你不能在其他线程中接收正常的鼠标事件。

但是,您或许应该在主 window 或 qApp 对象上安装一个事件过滤器,这样您就可以看到所有事件。查看文档了解如何使用事件过滤器,但简而言之,您需要 subclass QObject 覆盖 eventFilter 方法,然后创建此 [=20= 的实例],并将其安装为另一个对象的事件过滤器。