Qgis开发9-显示当前鼠标坐标
sf2gis@163.com
2014年8月24日
2014年8月29日状态栏显示说明
1 概述
鼠标在地图上移动,需要实时获取当前坐标位置。
2 原理
从当前位置获取视口坐标后,实时转换为地图坐标。
3 方法
处理鼠标位置,必须获取鼠标的当前坐标。但是Qt的鼠标事件由QgsMapCanvas处理。因此,想要显示其坐标,必须由QgsMapCanvas提供支持。
QgsMapCanvas中包含一个信号:voidxyCoordinate(const QgsPoint &p);
只要处理这个信号就可以显示相关坐标。
注:主窗口的状态栏只能通过ui->statusBar()获取,然后向其添加一个label作为显示控件。
3.1 示例
1) 添加信号处理程序
//xx.h
voidshowMousePoint(constQgsPoint&p);
//xx.cpp