使用QGraphicsView显示本地地图
我正在尝试使用 QGraphicsView 来显示地图图像并在其上绘制一些项目。地图边界采用笛卡尔坐标系,例如 NE(-500,200) 到 SW(600,-350)。我知道如何映射图像像素<-->我的坐标系。
我必须实现以下目标:
- 将地图图像添加到场景并告诉 Qt 如何将实际图像像素映射到场景坐标。
- 在其真实位置添加图形项目,例如 (-100,200)
执行 (2) 很简单 - 只需将项目添加到场景中即可。我如何实现(1)?调用 scene->addPixmap() 后该怎么办?
编辑 - 一些说明:
- 我正在绘制几百米的室内区域
- 地图将以两种方式实时变化:
- 地图每隔几秒就会变大
- 图形项目会移动、改变颜色等。
I'm trying to use QGraphicsView in order to display a map image and draw some items on top of it. The map boundaries are in a Cartesian coordinate system, for example NE(-500,200) to SW(600,-350). I know how to map image pixels <--> my coordinate system.
I would have to achieve the following:
- Add a map image to the scene and tell Qt how to map the actual image pixels to scene coordinates.
- Add graphic items at their real position, e.g. (-100,200)
Doing (2) is straightforward - simply add the item to the scene. How do I achieve (1)? what should I do after I call scene->addPixmap()?
Edit - A few clarifications:
- I'm mapping an indoor area of a few hundred meters
- The map will change at real-time in two ways:
- The map gets bigger every few seconds
- The graphic items move, change colors, etc.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)