Converter coordenadas da tela na posição da tela [fechada]

8

Eu tenho um ponto, que tem coordenadas de mapa (tela) e seria ótimo ter sua posição na tela. Eu preciso disso para definir a posição do cursor no mesmo lugar, onde o ponto está localizado.

Você conhece alguma maneira de converter essas coordenadas?

DIV
fonte

Respostas:

7

Eu acho que algo como o seguinte poderia funcionar no qual você precisa transformar as coordenadas do mapa em coordenadas de tela usando QgsMapTool :: toCanvasCoordinates . Selecione um ponto na sua camada e execute o seguinte no Python Console :

from qgis.gui import QgsMapTool
from PyQt4.QtGui import QCursor

layer = iface.activeLayer()
for f in layer.selectedFeatures():
    geom = f.geometry()
    point = QgsMapTool(iface.mapCanvas()).toCanvasCoordinates(geom.asPoint())
    transformed_point = iface.mapCanvas().mapToGlobal(point)
    QCursor().setPos(transformed_point.x(), transformed_point.y())
Joseph
fonte