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

时间:2018-05-27 13:56:57

标签: qt mouseevent qthread

我怀疑某些东西阻止了我在Qt中调用鼠标事件。因此,我认为将事件添加到线程可能会有所帮助。有没有办法做到这一点?如果是这样,语法怎么样?

1 个答案:

答案 0 :(得分:0)

Qt标准鼠标事件来自QWidget个对象。那些必须始终存在于主线程中。

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

但是,您应该在主窗口或qApp对象中安装事件过滤器,这样您就可以看到所有事件。在文档中查看如何使用事件过滤器,但简而言之,您需要子类QObject来覆盖eventFilter方法,然后创建此类的实例,并将其安装为事件过滤器另一个对象。