有没有办法将鼠标事件添加到线程?
Is there a way to add a mouse event to a thread?
我怀疑有什么东西阻止了我的鼠标事件在 Qt 中被调用。因此,我认为将事件添加到线程中可能会有所帮助。有什么办法吗?如果是这样,语法看起来如何?
Qt 标准鼠标事件到达 QWidget
个对象。这些必须始终存在于主线程中。
所以不行,你不能在其他线程中接收正常的鼠标事件。
但是,您或许应该在主 window 或 qApp
对象上安装一个事件过滤器,这样您就可以看到所有事件。查看文档了解如何使用事件过滤器,但简而言之,您需要 subclass QObject
覆盖 eventFilter
方法,然后创建此 [=20= 的实例],并将其安装为另一个对象的事件过滤器。
我怀疑有什么东西阻止了我的鼠标事件在 Qt 中被调用。因此,我认为将事件添加到线程中可能会有所帮助。有什么办法吗?如果是这样,语法看起来如何?
Qt 标准鼠标事件到达 QWidget
个对象。这些必须始终存在于主线程中。
所以不行,你不能在其他线程中接收正常的鼠标事件。
但是,您或许应该在主 window 或 qApp
对象上安装一个事件过滤器,这样您就可以看到所有事件。查看文档了解如何使用事件过滤器,但简而言之,您需要 subclass QObject
覆盖 eventFilter
方法,然后创建此 [=20= 的实例],并将其安装为另一个对象的事件过滤器。