Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PointTool(QgsMapTool):
- def __init__(self, canvas):
- QgsMapTool.__init__(self, canvas)
- self.canvas = canvas
- def canvasReleaseEvent(self, event):
- """ Checks which click was used : if left, triggers the pan action, else, adds point. """
- if event.button() == QtCore.Qt.RightButton:
- # The right click triggers the point selection
- x = event.pos().x()
- y = event.pos().y()
- self.clickedPoint = self.canvas.getCoordinateTransform().toMapCoordinates(x, y)
- self.showPoint(self.clickedPoint)
- self.canvas.refresh()
- elif event.button() == QtCore.Qt.LeftButton:
- print("release clicked left")
- # The left click triggers the pan action
- iface.actionPan().trigger()
- def showPoint(self, point):
- """ Adds point in qgis main window """
- # Using a vertex marker to show the selected point as a red cross
- m = QgsVertexMarker(self.canvas)
- m.setCenter(point)
- m.setColor(QColor(255,0,0))
- m.setIconSize(10)
- m.setIconType(QgsVertexMarker.ICON_X)
- self.canvas.refresh()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement