Qt window 即使拦截鼠标事件也会移动

Qt window moves even when intercepting mouse events

我有一个 Qt OpenGL(带有 qt 5.5)应用程序,您可以在其中单击以在 3D 场景中拖动 objects。

这是通过 QOpenGLWidget 的子类实现的,它覆盖了 mousePressEventmouseReleaseEventmouseMoveEvent

然而,当我拖动一个 object 时,我可以在 window 开始激活 window 移动模式之前移动它一帧,并且我的鼠标移动实际上开始移动整个window,好像我在拖动标题栏。

我怀疑应用程序和我的 window 管理器 (kwin 5.4.3) 之间存在冲突,但我不知道去哪里调试这个问题,也不知道这是我的应用程序的错误还是如果我必须修复我的 window 经理。

您可能需要调用您正在处理的事件的 accept() 方法。