Qt 中的 glutPassiveMotionFunc

glutPassiveMotionFunc in Qt

我正在尝试使用 Qt 在 OpenGL 中制作一个 'fps' 相机。我能够移动鼠标并相应地旋转相机,我遇到的唯一问题是我必须单击并拖动才能使其发生(mouseMoveEvent 仅在按下鼠标时调用)。现在我整天都在搜索,互联网上有很多关于 OpenGL 的相互矛盾和过时的信息。我的问题真的很简单,QOpenGLWidget 是否有一些类似于 glutPassiveMotionFunc 的功能,或者我是否必须安装 glut 库才能获得此功能?也欢迎获得此功能的其他建议(例如其他更好的文档库)。万一我必须安装 glut 库,如果有人记录了执行此操作的正确方法,那也太棒了,因为我似乎找到了一百万种不同的方法,所有这些方法都同样难以理解。

默认情况下,Qt 不处理简单的鼠标移动事件。它必须通过 mouseTracking 属性:

打开
yourOpenGLWidget->setMouseTracking(true);