Qgis开发8-显示GUI
sf2gis@163.com
2014年8月24日
1 概述
GIS在对数据进行解析之后,需要将数据展示在显示设备上,并与用户进行图形化交互。
2 原理
GIS显示地图,在获取地理数据后,根据坐标系统转换为设备坐标系统,调用相应的绘图库进行图形绘制。
3 方法
由QgsMapCanvas对象在refresh()时调用地图刷新功能,由QgsMapRendererJob()进行具体的刷新工作。
QgsMapRendererJob对象首先读取所有的图层(QgsMapLayerRegistry:全局单例),然后根据各个图层的设置(QgsRendererContext设置了显示需要的所有属性),生成相应的LayerRendererJob结构的实例列表。
然后根据不同的结构,QgsMapRendererJob调用Qt的显示功能,显示所有的图层。
4 显示当前鼠标位置的坐标
4.1 原理
处理鼠标位置,必须获取鼠标的当前坐标。但是Qt的鼠标事件由QgsMapCanvas处理。因此,想要显示其坐标ÿ