如何始终获得QT鼠标位置
how to get Qt Mouse Position all the time
所以我一直在为这个问题而苦苦挣扎。我尝试了很多事情,它们似乎都没有用。因此,我想在QT中制作游戏,而我需要的一件事是播放器(目前QRectitem)始终旋转到鼠标位置。我只需要一直读取该位置,所以当我单击或拖动时,不要始终。我怎样才能做到这一点?我设置
this->setMouseTracking(true);
在继承Qgraphicsview类的类中,我也将重点放在了它上。不知道问题是否出现在覆盖功能(不知道要覆盖哪一个)或焦点。
void Game::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
qDebug() << QCursor::pos();
}
这样做了,但根本不起作用。顺便说一句,我是noob it QT,这是我的第一个项目。提前致谢!:)
P.S。我确实做了研究,但是如果我以某种方式错过了可以解决这个问题的相同或类似问题的话题,那就粘贴并接受我的道歉。:)
编辑
您可以在QApplication
对象上安装事件过滤器,检查鼠标移动事件的接收事件,将结果位置转换为场景,然后使用它来定向矩形。
查看QObject::installEventFilter
。事件过滤器非常易于使用。当对象接收鼠标事件时,其坐标在该对象的坐标空间中,因此您需要从该坐标转换为图形场景坐标。可能会进行几次转换,因为您需要使用MAPTO将接收到的位置映射到您的QGraphicsView
,然后使用QGraphicsView::mapToScene
将其映射到您的场景。
这应该使您非常接近。让我知道您是否需要更多帮助。
相关文章:
- 使用 dlib 记录鼠标位置
- 获取窗口中的鼠标位置
- 将文本添加到鼠标位置时,请单击“给出分割故障”
- 在鼠标位置移动精灵
- 如何在Mac OSX上的窗口客户端内获取真实的鼠标位置?
- 如何始终获得QT鼠标位置
- QT QgraphicView和Qgraphicscene鼠标位置
- QT:QGraphicsScene鼠标位置始终(0,0)
- SFML鼠标位置和碰撞从文件加载
- 根据鼠标位置缩小到窗口中
- 如何根据鼠标位置旋转精灵
- OpenGL获取离当前鼠标位置最近的世界三维点的三维坐标
- C++ SDL 根据鼠标位置绘制动态矩形
- 如何检索WM_COMMAND中的鼠标位置
- Qt mouseMoveEvent-跟踪鼠标位置
- OpenGl获取鼠标位置
- 获取RGBDemo的鼠标位置坐标
- 通过互联网发送鼠标位置
- 如何使用可可获得鼠标位置差异的变化
- 鼠标位置并单击 sfml 中的检测