首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt做个图片地图遇到的有关问题

2012-04-25 
Qt做个图片地图遇到的问题我正在用Qt做地图浏览器。当地图很大或者放大超过显示界面时,可以有像ScrollArea

Qt做个图片地图遇到的问题
我正在用Qt做地图浏览器。当地图很大或者放大超过显示界面时,可以有像ScrollArea一样的移动条。还可以有测距功能,用鼠标可以在打开的图片上面画线。
我想问这个是要用分层实现呢,例如,打开的地图是一层,在地图上面画线是另一层?还是直接把地图画出来后,在用画图功能画线?后者每次画线后都要更新,这样效率不高。但是前者我不会,是不是还有其他方法?
谁来指导一下,谢谢了!

[解决办法]
楼上说的应该可行,楼主可以试试
[解决办法]
图层显示问题建议你使用视图场景模式,就是QGraphicsVIew QGraphicsScene QGraphicsItem
如果用到矢量图的话就用QGraphicsSvgItem
如果你的场景对象(QGraphicsScene)不设置边框,它会自动根据你的图片大小设置边框,这样你说的“当地图很大或者放大超过显示界面时,可以有像ScrollArea一样的移动条。”就可以实现了。
然后在写PaintEvent函数个MouseEvent函数实现画线,
这样你的图片数据保存在图元对象中(QGraphicsItem),而你的画线数据保存在窗口中,就实现了数据分层吧。要想保存画好的数据,可以通过窗口的函数得到画面,并保存。要想清空画线数据,直接把图元重新初始化就可以了

热点排行