Advertisement
Guest User

Untitled

a guest
Aug 21st, 2014
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. class PointTool(QgsMapTool):
  2.  
  3. def __init__(self, canvas):
  4. QgsMapTool.__init__(self, canvas)
  5. self.canvas = canvas
  6.  
  7. def canvasReleaseEvent(self, event):
  8. """ Checks which click was used : if left, triggers the pan action, else, adds point. """
  9.  
  10. if event.button() == QtCore.Qt.RightButton:
  11. # The right click triggers the point selection
  12. x = event.pos().x()
  13. y = event.pos().y()
  14. self.clickedPoint = self.canvas.getCoordinateTransform().toMapCoordinates(x, y)
  15. self.showPoint(self.clickedPoint)
  16. self.canvas.refresh()
  17.  
  18. elif event.button() == QtCore.Qt.LeftButton:
  19. print("release clicked left")
  20. # The left click triggers the pan action
  21. iface.actionPan().trigger()
  22.  
  23. def showPoint(self, point):
  24. """ Adds point in qgis main window """
  25.  
  26. # Using a vertex marker to show the selected point as a red cross
  27. m = QgsVertexMarker(self.canvas)
  28. m.setCenter(point)
  29. m.setColor(QColor(255,0,0))
  30. m.setIconSize(10)
  31. m.setIconType(QgsVertexMarker.ICON_X)
  32.  
  33. self.canvas.refresh()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement