C++ Qt mouseMoveEvent-跟踪鼠标位置

C++ Qt mouseMoveEvent-跟踪鼠标位置,c++,qt,mouse,tracking,qwidget,C++,Qt,Mouse,Tracking,Qwidget,我正在用Qt编程我的第一个2D游戏 我已经确定了我画游戏的地方(等距视图)。当鼠标进入小部件的边界时,它会移动地图视图(就像在每个策略游戏中一样…) 这是我的麻烦。。。我用mouseMoveEvent跟踪鼠标位置,但它只在鼠标移动时触发(仅当位置改变时)。所以,只有在边界处移动鼠标时,贴图才会移动。如果鼠标静止不动,贴图不会移动(mouseMoveEvent不会被触发)。我不知道如何解决这个问题。当你试着玩它时,它很烦人 这是我在这里的第一篇帖子。。我希望我能清楚地解释我的问题:) 编辑(稍微澄

我正在用Qt编程我的第一个2D游戏

我已经确定了我画游戏的地方(等距视图)。当鼠标进入小部件的边界时,它会移动地图视图(就像在每个策略游戏中一样…)

这是我的麻烦。。。我用mouseMoveEvent跟踪鼠标位置,但它只在鼠标移动时触发(仅当位置改变时)。所以,只有在边界处移动鼠标时,贴图才会移动。如果鼠标静止不动,贴图不会移动(mouseMoveEvent不会被触发)。我不知道如何解决这个问题。当你试着玩它时,它很烦人

这是我在这里的第一篇帖子。。我希望我能清楚地解释我的问题:)

编辑(稍微澄清):

想象一下:你想移动地图。所以你们把鼠标移到屏幕边缘(QWidget),但当你们停止鼠标的时候,地图也停止了移动。但鼠标仍然在屏幕的边缘。我想做的是,在鼠标停在边缘后,地图仍然会移动。

您可以为坐标创建QPropertyAnimation,并在鼠标移动到小部件的边框时启动/停止它。
或者,您可以记住当前状态(“每100ms更改x为-1,更改y为0”),并调用某个插槽,使用QTimer进行真正的移动。

尝试添加一行以澄清您真正想要的内容。IE:“我想要……这个……还有那个。”你想要跟踪鼠标的移动。。。鼠标什么时候不动?你没注意到有什么地方有缺陷吗?想象一下:你想移动地图。所以你们把鼠标移到屏幕边缘(QWidget),但当你们停止鼠标的时候,地图也停止了移动。但鼠标仍然在屏幕的边缘。我想做的是,在鼠标停在edgeThx上进行idea操作后,地图仍然会移动。我用QTimer解决了这个问题,并记住了您所说的当前状态,效果很好:)