即使拦截鼠标事件,Qt 窗口也会移动
Posted
技术标签:
【中文标题】即使拦截鼠标事件,Qt 窗口也会移动【英文标题】:Qt window moves even when intercepting mouse events 【发布时间】:2016-03-24 16:33:39 【问题描述】:我有一个 Qt OpenGL(使用 qt 5.5)应用程序,您可以在其中单击以拖动 3D 场景中的对象。
这是通过拥有一个覆盖mousePressEvent
、mouseReleaseEvent
和mouseMoveEvent
的QOpenGLWidget
子类来实现的。
但是,当我拖动一个对象时,我可以在窗口开始激活窗口移动模式之前将它移动一帧,而我的鼠标移动实际上开始移动整个窗口,就像我在拖动标题栏一样。
我怀疑应用程序和我的窗口管理器 (kwin 5.4.3) 之间存在冲突,但我不知道去哪里调试这个问题,以及这是我的应用程序的错误还是我必须修复我的窗口管理器。
【问题讨论】:
【参考方案1】:您可能需要调用您正在处理的事件的accept()
方法。
【讨论】:
以上是关于即使拦截鼠标事件,Qt 窗口也会移动的主要内容,如果未能解决你的问题,请参考以下文章