Convertir les coordonnées du canevas en position d'écran [fermé]

8

J'ai un point, qui a des coordonnées de carte (toile) et ce serait génial d'avoir sa position à l'écran. J'en ai besoin pour régler la position du curseur au même endroit, où se trouve le point.

Connaissez-vous un moyen de convertir ces coordonnées?

DIV
la source

Réponses:

7

Je pense que quelque chose comme ce qui suit pourrait fonctionner dans lequel vous devez transformer vos coordonnées de carte en coordonnées d'écran en utilisant QgsMapTool :: toCanvasCoordinates . Sélectionnez un point dans votre couche, puis exécutez ce qui suit dans la console Python :

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
la source