Class: QgsMapMouseEvent

class qgis.gui.QgsMapMouseEvent

Bases: PyQt5.QtGui.QMouseEvent

A QgsMapMouseEvent is the result of a user interaction with the mouse on a QgsMapCanvas. It is sent whenever the user moves, clicks, releases or double clicks the mouse. In addition to the coordinates in pixel space it also knows the coordinates in the mapcanvas’ CRS as well as it knows the concept of snapping.

QgsMapMouseEvent(mapCanvas: QgsMapCanvas, event: QMouseEvent) Creates a new QgsMapMouseEvent. Should only be required to be called from the QgsMapCanvas.

Parameters:
  • mapCanvas – The map canvas on which the event occurred

  • event – The original mouse event

QgsMapMouseEvent(mapCanvas: QgsMapCanvas, type: QEvent.Type, pos: QPoint, button: Qt.MouseButton = Qt.NoButton, buttons: Union[Qt.MouseButtons, Qt.MouseButton] = Qt.NoButton, modifiers: Union[Qt.KeyboardModifiers, Qt.KeyboardModifier] = Qt.NoModifier) Creates a new QgsMapMouseEvent. Should only be required to be called from the QgsMapCanvas.

Parameters:
  • mapCanvas – The map canvas on which the event occurred

  • type – The type of the event

  • pos – The pixel position of the mouse

  • button – The pressed button

  • buttons – Further buttons that are pressed

  • modifiers – Keyboard modifiers

QgsMapMouseEvent(QgsMapMouseEvent)

Methods

isSnapped

Returns True if there is a snapped point cached.

mapPoint

mapPoint returns the point in coordinates

mapPointMatch

Returns the matching data from the most recently snapped point.

originalMapPoint

Returns the original, unmodified map point of the mouse cursor.

originalPixelPoint

The unsnapped, real mouse cursor position in pixel coordinates.

pixelPoint

The snapped mouse cursor in pixel coordinates.

setMapPoint

Set the (snapped) point this event points to in map coordinates.

snapPoint

snapPoint will snap the points using the map canvas snapping utils configuration

snapToGrid

Snaps the mapPoint to a grid with the given precision.

isSnapped(self) bool

Returns True if there is a snapped point cached. Will only be useful after snapPoint has previously been called.

Return type:

bool

Returns:

True if there is a snapped point cached.

mapPoint(self) QgsPointXY

mapPoint returns the point in coordinates

Return type:

QgsPointXY

Returns:

the point in map coordinates, after snapping if requested in the event.

mapPointMatch(self) QgsPointLocator.Match

Returns the matching data from the most recently snapped point.

Return type:

QgsPointLocator.Match

Returns:

the snapping data structure

Note

This method returns the most recent snap match. It must follow a call to snapPoint() in order to have a recent snap result available.

originalMapPoint(self) QgsPointXY

Returns the original, unmodified map point of the mouse cursor.

Return type:

QgsPointXY

Returns:

The cursor position in map coordinates.

originalPixelPoint(self) QPoint

The unsnapped, real mouse cursor position in pixel coordinates. Alias to pos()

Return type:

QPoint

Returns:

Mouse position in pixel coordinates

pixelPoint(self) QPoint

The snapped mouse cursor in pixel coordinates.

Return type:

QPoint

Returns:

The snapped mouse cursor position in pixel coordinates.

setMapPoint(self, point: QgsPointXY)

Set the (snapped) point this event points to in map coordinates. The point in pixel coordinates will be calculated accordingly.

Parameters:

point (QgsPointXY) – The point in map coordinates

snapPoint(self) QgsPointXY

snapPoint will snap the points using the map canvas snapping utils configuration

Note

if snapping did not succeeded, the map point will be reset to its original position

Return type:

QgsPointXY

snapToGrid(self, precision: float, crs: QgsCoordinateReferenceSystem)

Snaps the mapPoint to a grid with the given precision. The snapping will be done in the specified crs. If this crs is different from the mapCanvas crs, it will be reprojected on the fly.

New in version 3.4.

Parameters: