Class: QgsMapCanvas

class qgis.gui.QgsMapCanvas(parent: QWidget = None)

Bases: PyQt5.QtWidgets.QGraphicsView

Constructor

Map canvas is a class for displaying all GIS data types on a canvas.

Enums

Methods

actionEvent

annotationItems

Returns a list of all annotation items in the canvas.

annotationsVisible

Returns True if annotations are visible within the map canvas.

antiAliasingEnabled

True if antialising is enabled

canvasColor

Read property of QColor bgColor.

center

Gets map center, in geographical coordinates

changeEvent

childEvent

clearCache

Make sure to remove any rendered images from cache (does nothing if cache is not enabled)

clearExtentHistory

closeEvent

connectNotify

contextMenuEvent

create

currentLayer

returns current layer (set by legend widget)

customEvent

defaultExpressionContextScope

Creates a new scope which contains default variables and functions relating to the map canvas.

destroy

disconnectNotify

dragEnterEvent

Overridden drag enter event

dragLeaveEvent

dragMoveEvent

drawBackground

drawForeground

drawFrame

dropEvent

enableAntiAliasing

used to determine if anti-aliasing is enabled or not

enableMapTileRendering

sets map tile rendering flag

enterEvent

event

Overridden standard event to be gestures aware

eventFilter

expressionContextScope

Returns a reference to the expression context scope for the map canvas.

extent

Returns the current zoom extent of the map canvas

flashFeatureIds

Causes a set of features with matching ids from a vector layer to flash within the canvas.

flashGeometries

Causes a set of geometries to flash within the canvas.

focusInEvent

focusNextChild

focusNextPrevChild

focusOutEvent

focusPreviousChild

freeze

Freeze/thaw the map canvas.

fullExtent

Returns the combined extent for all layers on the map canvas

getCoordinateTransform

Gets the current coordinate transform

hideEvent

initPainter

initStyleOption

inputMethodEvent

isCachingEnabled

Check whether images of rendered layers are curerently being cached

isDrawing

Find out whether rendering is in progress

isFrozen

Returns True if canvas is frozen.

isParallelRenderingEnabled

Check whether the layers are rendered in parallel or sequentially

isSignalConnected

keyPressEvent

Overridden key press event

keyReleaseEvent

Overridden key release event

labelingEngineSettings

Returns global labeling engine settings from the internal map settings

labelingResults

Gets access to the labeling results (may be None)

layer

Returns the map layer at position index in the layer stack

layerCount

Returns number of layers on the map

layerStateChange

This slot is connected to the visibility change of one or more layers

layerStyleOverrides

Returns the stored overrides of styles for layers.

layers

Returns the list of layers shown within the map canvas.

leaveEvent

magnificationFactor

Returns the magnification factor

mapSettings

Gets access to properties used for map rendering

mapTool

Returns the currently active tool

mapUnits

Convenience function for returning the current canvas map units.

mapUnitsPerPixel

Returns the mapUnitsPerPixel (map units per pixel) for the canvas

mapUpdateInterval

Find out how often map preview should be updated while it is being rendered (in milliseconds)

metric

mouseDoubleClickEvent

Overridden mouse double-click event

mouseLastXY

returns last position of mouse cursor

mouseMoveEvent

Overridden mouse move event

mousePressEvent

Overridden mouse press event

mouseReleaseEvent

Overridden mouse release event

moveCanvasContents

called when panning is in action, reset indicates end of panning

moveEvent

nativeEvent

paintEvent

Overridden paint event

panAction

Called when mouse is moving and pan is activated

panActionEnd

Ends pan action and redraws the canvas.

panToFeatureIds

Centers canvas extent to feature ids

panToSelected

Pan to the selected features of current (vector) layer keeping same extent.

previewJobsEnabled

Returns True if canvas map preview jobs (low priority render jobs which render portions of the view just outside of the canvas extent, to allow preview of these out-of-canvas areas when panning or zooming out the map) are enabled for the canvas.

previewMode

Returns the current preview mode for the map canvas.

previewModeEnabled

Returns whether a preview mode is enabled for the map canvas

readProject

called to read map canvas settings from project

receivers

refresh

Repaints the canvas map

refreshAllLayers

Reload all layers, clear the cache and refresh the canvas

renderFlag

Returns True if canvas render is disabled as a result of user disabling renders via the GUI.

resizeEvent

Overridden resize event

rotation

Gets the current map canvas rotation in clockwise degrees

saveAsImage

Save the contents of the map canvas to disk as an image

scale

Returns the last reported scale of the canvas.

scaleLocked

Returns whether the scale is locked, so zooming can be performed using magnication.

scrollContentsBy

selectionChangedSlot

Receives signal about selection change, and pass it on with layer info

selectionColor

Returns color for selected features

sender

senderSignalIndex

setAnnotationsVisible

Sets whether annotations are visible in the canvas.

setCachingEnabled

Set whether to cache images of rendered layers

setCanvasColor

Write property of QColor bgColor.

setCenter

Set the center of the map canvas, in geographical coordinates

setCurrentLayer

setDestinationCrs

sets destination coordinate reference system

setExpressionContextScope

Sets an expression context scope for the map canvas.

setExtent

Sets the extent of the map canvas

setLabelingEngineSettings

Sets global labeling engine settings in the internal map settings

setLayerStyleOverrides

Sets the stored overrides of styles for rendering layers.

setLayers

Sets the list of layers that should be shown in the canvas.

setMagnificationFactor

Sets the factor of magnification to apply to the map canvas.

setMapSettingsFlags

Resets the flags for the canvas’ map settings.

setMapTool

Sets the map tool currently being used on the canvas

setMapUpdateInterval

Set how often map preview should be updated while it is being rendered (in milliseconds)

setParallelRenderingEnabled

Set whether the layers are rendered in parallel or sequentially

setPreviewJobsEnabled

Sets whether canvas map preview jobs (low priority render jobs which render portions of the view just outside of the canvas extent, to allow preview of these out-of-canvas areas when panning or zooming out the map) are enabled for the canvas.

setPreviewMode

Sets a preview mode for the map canvas.

setPreviewModeEnabled

Enables a preview mode for the map canvas

setRenderFlag

Sets whether a user has disabled canvas renders via the GUI.

setRotation

Set the rotation of the map canvas in clockwise degrees

setScaleLocked

Lock the scale, so zooming can be performed using magnication

setSegmentationTolerance

Sets the segmentation tolerance applied when rendering curved geometries

setSegmentationToleranceType

Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

setSelectionColor

Set color of selected vector features

setSnappingUtils

Assign an instance of snapping utils to the map canvas.

setTheme

Sets a map theme to show in the canvas.

setViewportMargins

setWheelFactor

Sets wheel zoom factor (should be greater than 1)

setupViewport

sharedPainter

showEvent

snappingUtils

Returns snapping utility class that is associated with map canvas.

stopRendering

stop rendering (if there is any right now)

tabletEvent

theme

Returns the map’s theme shown in the canvas, if set.

timerEvent

unsetMapTool

Unset the current map tool or last non zoom tool

updateCanvasItemPositions

called on resize or changed extent to notify canvas items to change their rectangle

updateMicroFocus

updateScale

Emits signal scaleChanged to update scale in main window

viewportEvent

viewportMargins

viewportSizeHint

waitWhileRendering

Blocks until the rendering job has finished.

wheelEvent

Overridden mouse wheel event

writeProject

called to write map canvas settings to project

zoomByFactor

Zoom with the factor supplied.

zoomIn

Zoom in with fixed factor

zoomOut

Zoom out with fixed factor

zoomScale

Zooms the canvas to a specific scale.

zoomToFeatureExtent

Zooms to feature extent.

zoomToFeatureIds

Set canvas extent to the bounding box of a set of features

zoomToFullExtent

Zoom to the full extent of all layers

zoomToNextExtent

Zoom to the next extent (view)

zoomToPreviousExtent

Zoom to the previous extent (view)

zoomToSelected

Zoom to the extent of the selected features of provided (vector) layer.

zoomWithCenter

Zooms in/out with a given center

Signals

canvasColorChanged

Emitted when canvas background color changes

currentLayerChanged

Emitted when the current layer is changed

destinationCrsChanged

Emitted when map CRS has changed

extentsChanged

Emitted when the extents of the map change [signal]

keyPressed

Emit key press event [signal]

keyReleased

Emit key release event [signal]

layerStyleOverridesChanged

Emitted when the configuration of overridden layer styles changes

layersChanged

Emitted when a new set of layers has been received [signal]

magnificationChanged

Emitted when the scale of the map changes

mapCanvasRefreshed

Emitted when canvas finished a refresh request.

mapToolSet

Emit map tool changed with the old tool

messageEmitted

emit a message (usually to be displayed in a message bar) [signal]

renderComplete

TODO: deprecate when decorations are reimplemented as map canvas items - anything related to rendering progress is not visible outside of map canvas - additional drawing shall be done directly within the renderer job or independently as a map canvas item [signal]

renderStarting

Emitted when the canvas is about to be rendered.

rotationChanged

Emitted when the rotation of the map changes

scaleChanged

Emitted when the scale of the map changes [signal]

selectionChanged

Emitted when selection in any layer gets changed [signal]

themeChanged

Emitted when the canvas has been assigned a different map theme.

transformContextChanged

Emitted when the canvas transform context is changed.

xyCoordinates

Emits current mouse position

zoomLastStatusChanged

Emitted when zoom last status changed [signal]

zoomNextStatusChanged

Emitted when zoom next status changed [signal]

Attributes

actionEvent()
annotationItems(self) → List[QgsMapCanvasAnnotationItem]

Returns a list of all annotation items in the canvas.

New in version 3.0.

annotationsVisible(self) → bool

Returns True if annotations are visible within the map canvas.

New in version 3.0.

antiAliasingEnabled(self) → bool

True if antialising is enabled

canvasColor(self) → QColor

Read property of QColor bgColor.

canvasColorChanged

Emitted when canvas background color changes

New in version 3.0: [signal]

center(self) → QgsPointXY

Gets map center, in geographical coordinates

New in version 2.8.

changeEvent()
childEvent()
clearCache(self)

Make sure to remove any rendered images from cache (does nothing if cache is not enabled)

New in version 2.4.

clearExtentHistory(self)
closeEvent()
connectNotify()
contextMenuEvent()
create()
currentLayer(self) → QgsMapLayer

returns current layer (set by legend widget)

currentLayerChanged

Emitted when the current layer is changed

New in version 2.8: [signal]

customEvent()
defaultExpressionContextScope(self) → QgsExpressionContextScope

Creates a new scope which contains default variables and functions relating to the map canvas.

New in version 3.4.

destinationCrsChanged

Emitted when map CRS has changed

New in version 2.4: [signal]

destroy()
disconnectNotify()
dragEnterEvent(self, e: QDragEnterEvent)

Overridden drag enter event

dragLeaveEvent()
dragMoveEvent()
drawBackground()
drawForeground()
drawFrame()
dropEvent()
enableAntiAliasing(self, flag: bool)

used to determine if anti-aliasing is enabled or not

enableMapTileRendering(self, flag: bool)

sets map tile rendering flag

enterEvent()
event(self, e: QEvent) → bool

Overridden standard event to be gestures aware

eventFilter()
expressionContextScope(self) → QgsExpressionContextScope

Returns a reference to the expression context scope for the map canvas. This scope is injected into the expression context used for rendering the map, and can be used to apply specific variable overrides for expression evaluation for the map canvas render.

New in version 2.12.

extent(self) → QgsRectangle

Returns the current zoom extent of the map canvas

extentsChanged

Emitted when the extents of the map change [signal]

flashFeatureIds(self, layer: QgsVectorLayer, ids: object, startColor: Union[QColor, Qt.GlobalColor, QGradient] = QColor(255, 0, 0, 255), endColor: Union[QColor, Qt.GlobalColor, QGradient] = QColor(255, 0, 0, 0), flashes: int = 3, duration: int = 500)

Causes a set of features with matching ids from a vector layer to flash within the canvas.

The startColor and endColor can be specified, along with the number of flashes and duration of each flash (in milliseconds).

Note

If the features or geometries are already available, flashGeometries() is much more efficient.

New in version 3.0.

flashGeometries(self, geometries: Iterable[QgsGeometry], crs: QgsCoordinateReferenceSystem = QgsCoordinateReferenceSystem(), startColor: Union[QColor, Qt.GlobalColor, QGradient] = QColor(255,0,0,255), endColor: Union[QColor, Qt.GlobalColor, QGradient] = QColor(255,0,0,0), flashes: int = 3, duration: int = 500)

Causes a set of geometries to flash within the canvas.

If crs is a valid coordinate reference system, the geometries will be automatically transformed from this CRS to the canvas CRS.

The startColor and endColor can be specified, along with the number of flashes and duration of each flash (in milliseconds).

New in version 3.0.

focusInEvent()
focusNextChild()
focusNextPrevChild()
focusOutEvent()
focusPreviousChild()
freeze(self, frozen: bool = True)

Freeze/thaw the map canvas. This is used to prevent the canvas from responding to events while layers are being added/removed etc.

Parameters

frozen – Boolean specifying if the canvas should be frozen (True) or thawed (False). Default is True.

See also

isFrozen()

See also

setRenderFlag() while setRenderFlag() should only be used when users disable rendering via GUI.

fullExtent(self) → QgsRectangle

Returns the combined extent for all layers on the map canvas

getCoordinateTransform(self) → QgsMapToPixel

Gets the current coordinate transform

hideEvent()
initPainter()
initStyleOption()
inputMethodEvent()
isCachingEnabled(self) → bool

Check whether images of rendered layers are curerently being cached

New in version 2.4.

isDrawing(self) → bool

Find out whether rendering is in progress

isFrozen(self) → bool

Returns True if canvas is frozen.

See also

renderFlag()

have been halted programmatically, while renderFlag() should be used to determine whether a user has disabled rendering via GUI.

See also

freeze()

isParallelRenderingEnabled(self) → bool

Check whether the layers are rendered in parallel or sequentially

New in version 2.4.

isSignalConnected()
keyPressEvent(self, e: QKeyEvent)

Overridden key press event

keyPressed

Emit key press event [signal]

keyReleaseEvent(self, e: QKeyEvent)

Overridden key release event

keyReleased

Emit key release event [signal]

labelingEngineSettings(self) → QgsLabelingEngineSettings

Returns global labeling engine settings from the internal map settings

New in version 3.0.

labelingResults(self) → QgsLabelingResults

Gets access to the labeling results (may be None)

New in version 2.4.

layer(self, index: int) → QgsMapLayer

Returns the map layer at position index in the layer stack

layerCount(self) → int

Returns number of layers on the map

layerStateChange(self)

This slot is connected to the visibility change of one or more layers

layerStyleOverrides(self) → Dict[str, str]

Returns the stored overrides of styles for layers.

New in version 2.12.

layerStyleOverridesChanged

Emitted when the configuration of overridden layer styles changes

New in version 2.12: [signal]

layers(self) → List[QgsMapLayer]

Returns the list of layers shown within the map canvas.

See also

setLayers()

layersChanged

Emitted when a new set of layers has been received [signal]

leaveEvent()
magnificationChanged

Emitted when the scale of the map changes

New in version 2.16: [signal]

magnificationFactor(self) → float

Returns the magnification factor

New in version 2.16.

mapCanvasRefreshed

Emitted when canvas finished a refresh request. [signal]

mapSettings(self) → QgsMapSettings

Gets access to properties used for map rendering

New in version 2.4.

mapTool(self) → QgsMapTool

Returns the currently active tool

mapToolSet

Emit map tool changed with the old tool

New in version 2.3: [signal]

mapUnits(self) → QgsUnitTypes.DistanceUnit

Convenience function for returning the current canvas map units. The map units are dictated by the canvas’ destinationCrs() map units.

mapUnitsPerPixel(self) → float

Returns the mapUnitsPerPixel (map units per pixel) for the canvas

mapUpdateInterval(self) → int

Find out how often map preview should be updated while it is being rendered (in milliseconds)

New in version 2.4.

messageEmitted

emit a message (usually to be displayed in a message bar) [signal]

metric()
mouseDoubleClickEvent(self, e: QMouseEvent)

Overridden mouse double-click event

mouseLastXY(self) → QPoint

returns last position of mouse cursor

mouseMoveEvent(self, e: QMouseEvent)

Overridden mouse move event

mousePressEvent(self, e: QMouseEvent)

Overridden mouse press event

mouseReleaseEvent(self, e: QMouseEvent)

Overridden mouse release event

moveCanvasContents(self, reset: bool = False)

called when panning is in action, reset indicates end of panning

moveEvent()
nativeEvent()
paintEvent(self, e: QPaintEvent)

Overridden paint event

panAction(self, event: QMouseEvent)

Called when mouse is moving and pan is activated

panActionEnd(self, releasePoint: QPoint)

Ends pan action and redraws the canvas.

panToFeatureIds(self, layer: QgsVectorLayer, ids: object, alwaysRecenter: bool = True)

Centers canvas extent to feature ids

Parameters
  • layer – the vector layer

  • ids – the feature ids

  • alwaysRecenter – if false, the canvas is recentered only if the bounding box is not contained within the current extent

panToSelected(self, layer: QgsVectorLayer = None)

Pan to the selected features of current (vector) layer keeping same extent.

previewJobsEnabled(self) → bool

Returns True if canvas map preview jobs (low priority render jobs which render portions of the view just outside of the canvas extent, to allow preview of these out-of-canvas areas when panning or zooming out the map) are enabled for the canvas.

New in version 3.0.

previewMode(self) → QgsPreviewEffect.PreviewMode

Returns the current preview mode for the map canvas. This setting only has an effect if previewModeEnabled is True.

Returns

preview mode for map canvas

See also

setPreviewMode()

New in version 2.3.

previewModeEnabled(self) → bool

Returns whether a preview mode is enabled for the map canvas

Returns

True if a preview mode is currently enabled

See also

previewMode()

New in version 2.3.

readProject(self, QDomDocument)

called to read map canvas settings from project

receivers()
refresh(self)

Repaints the canvas map

refreshAllLayers(self)

Reload all layers, clear the cache and refresh the canvas

New in version 2.9.

renderComplete

TODO: deprecate when decorations are reimplemented as map canvas items - anything related to rendering progress is not visible outside of map canvas - additional drawing shall be done directly within the renderer job or independently as a map canvas item [signal]

renderFlag(self) → bool

Returns True if canvas render is disabled as a result of user disabling renders via the GUI.

See also

setRenderFlag()

See also

isFrozen()

have been halted programmatically, while renderFlag() should be used to determine whether a user has disabled rendering via GUI.

renderStarting

Emitted when the canvas is about to be rendered. [signal]

resizeEvent(self, e: QResizeEvent)

Overridden resize event

rotation(self) → float

Gets the current map canvas rotation in clockwise degrees

New in version 2.8.

rotationChanged

Emitted when the rotation of the map changes

New in version 2.8: [signal]

saveAsImage(self, fileName: str, QPixmap: QPixmap = None, a2: str = '')

Save the contents of the map canvas to disk as an image

scale(self) → float

Returns the last reported scale of the canvas. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

scaleChanged

Emitted when the scale of the map changes [signal]

scaleLocked(self) → bool

Returns whether the scale is locked, so zooming can be performed using magnication.

See also

setScaleLocked()

New in version 2.16.

scrollContentsBy()
selectionChanged

Emitted when selection in any layer gets changed [signal]

selectionChangedSlot(self)

Receives signal about selection change, and pass it on with layer info

selectionColor(self) → QColor

Returns color for selected features

New in version 3.0.

sender()
senderSignalIndex()
setAnnotationsVisible(self, visible: bool)

Sets whether annotations are visible in the canvas.

New in version 3.0.

setCachingEnabled(self, enabled: bool)

Set whether to cache images of rendered layers

New in version 2.4.

setCanvasColor(self, _newVal: Union[QColor, Qt.GlobalColor, QGradient])

Write property of QColor bgColor.

setCenter(self, center: QgsPointXY)

Set the center of the map canvas, in geographical coordinates

New in version 2.8.

setCurrentLayer(self, layer: QgsMapLayer)
setDestinationCrs(self, crs: QgsCoordinateReferenceSystem)

sets destination coordinate reference system

New in version 2.4.

setExpressionContextScope(self, scope: QgsExpressionContextScope)

Sets an expression context scope for the map canvas. This scope is injected into the expression context used for rendering the map, and can be used to apply specific variable overrides for expression evaluation for the map canvas render. This method will overwrite the existing expression context scope for the canvas.

Parameters

scope – new expression context scope

New in version 2.12.

setExtent(self, r: QgsRectangle, magnified: bool = False)

Sets the extent of the map canvas

setLabelingEngineSettings(self, settings: QgsLabelingEngineSettings)

Sets global labeling engine settings in the internal map settings

New in version 3.0.

setLayerStyleOverrides(self, overrides: Dict[str, str])

Sets the stored overrides of styles for rendering layers.

If the map canvas has been associated with a map theme via a call to setTheme(), then any calls to setLayerStyleOverrides() are ignored. It is necessary to first clear the theme association by calling setTheme() with an empty string before setLayerStyleOverrides() calls can be made.

New in version 2.12.

setLayers(self, layers: Iterable[QgsMapLayer])

Sets the list of layers that should be shown in the canvas.

If the map canvas has been associated with a map theme via a call to setTheme(), then any calls to setLayers() are ignored. It is necessary to first clear the theme association by calling setTheme() with an empty string before setLayers() calls can be made.

See also

layers()

New in version 3.0.

setMagnificationFactor(self, factor: float)

Sets the factor of magnification to apply to the map canvas. Indeed, we increase/decrease the DPI of the map settings according to this factor in order to render marker point, labels, … bigger.

New in version 2.16.

setMapSettingsFlags(self, flags: Union[QgsMapSettings.Flags, QgsMapSettings.Flag])

Resets the flags for the canvas’ map settings.

New in version 3.0.

setMapTool(self, mapTool: QgsMapTool, clean: bool = False)

Sets the map tool currently being used on the canvas

setMapUpdateInterval(self, timeMilliseconds: int)

Set how often map preview should be updated while it is being rendered (in milliseconds)

New in version 2.4.

setParallelRenderingEnabled(self, enabled: bool)

Set whether the layers are rendered in parallel or sequentially

New in version 2.4.

setPreviewJobsEnabled(self, enabled: bool)

Sets whether canvas map preview jobs (low priority render jobs which render portions of the view just outside of the canvas extent, to allow preview of these out-of-canvas areas when panning or zooming out the map) are enabled for the canvas.

New in version 3.0.

setPreviewMode(self, mode: QgsPreviewEffect.PreviewMode)

Sets a preview mode for the map canvas. This setting only has an effect if previewModeEnabled is True.

Parameters

mode – preview mode for the canvas

See also

previewMode()

New in version 2.3.

setPreviewModeEnabled(self, previewEnabled: bool)

Enables a preview mode for the map canvas

Parameters

previewEnabled – set to True to enable a preview mode

See also

setPreviewMode()

New in version 2.3.

setRenderFlag(self, flag: bool)

Sets whether a user has disabled canvas renders via the GUI.

Parameters

flag – set to False to indicate that user has disabled renders

See also

renderFlag()

See also

freeze() while setRenderFlag() should only be used when users disable rendering via GUI.

setRotation(self, degrees: float)

Set the rotation of the map canvas in clockwise degrees

New in version 2.8.

setScaleLocked(self, isLocked: bool)

Lock the scale, so zooming can be performed using magnication

See also

scaleLocked()

New in version 2.16.

setSegmentationTolerance(self, tolerance: float)

Sets the segmentation tolerance applied when rendering curved geometries

Parameters

tolerance – the segmentation tolerance*

setSegmentationToleranceType(self, type: QgsAbstractGeometry.SegmentationToleranceType)

Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

Parameters

type – the segmentation tolerance typename*

setSelectionColor(self, color: Union[QColor, Qt.GlobalColor, QGradient])

Set color of selected vector features

New in version 2.4.

setSnappingUtils(self, utils: QgsSnappingUtils)

Assign an instance of snapping utils to the map canvas. The instance is not owned by the canvas, so it is possible to use one instance in multiple canvases.

For main canvas in QGIS, do not associate a different instance from the existing one (it is updated from the project’s snapping configuration).

New in version 2.8.

setTheme(self, theme: str)

Sets a map theme to show in the canvas. The theme name must match a theme present in the associated project’s QgsMapThemeCollection.

When the canvas is associated to a map theme, it will automatically follow the layer selection and layer styles from that theme. Calls to setLayers() or setLayerStyleOverrides() will have no effect, and canvases associated with a QgsLayerTreeMapCanvasBridge will no longer synchronize their state with the layer tree. In these cases it is necessary to call setTheme() with an empty string to clear the theme association and allow map updates with setLayers(), setLayerStyleOverrides(), or via QgsLayerTreeMapCanvasBridge.

If an empty string is passed then the current theme association will be cleared.

See also

theme()

New in version 3.0.

setViewportMargins()
setWheelFactor(self, factor: float)

Sets wheel zoom factor (should be greater than 1)

setupViewport()
sharedPainter()
showEvent()
snappingUtils(self) → QgsSnappingUtils

Returns snapping utility class that is associated with map canvas. If no snapping utils instance has been associated previously, an internal will be created for convenience (so map tools do not need to test for existence of the instance).

Main canvas in QGIS returns an instance which is always up-to-date with the project’s snapping configuration.

New in version 2.8.

stopRendering(self)

stop rendering (if there is any right now)

New in version 2.4.

tabletEvent()
theme(self) → str

Returns the map’s theme shown in the canvas, if set.

See also

setTheme()

New in version 3.0.

themeChanged

Emitted when the canvas has been assigned a different map theme.

See also

setTheme()

New in version 3.0: [signal]

timerEvent()
transformContextChanged

Emitted when the canvas transform context is changed.

New in version 3.0: [signal]

unsetMapTool(self, mapTool: QgsMapTool)

Unset the current map tool or last non zoom tool

This is called from destructor of map tools to make sure that this map tool won’t be used any more. You don’t have to call it manually, QgsMapTool takes care of it.

updateCanvasItemPositions(self)

called on resize or changed extent to notify canvas items to change their rectangle

updateMicroFocus()
updateScale(self)

Emits signal scaleChanged to update scale in main window

viewportEvent()
viewportMargins()
viewportSizeHint()
waitWhileRendering(self)

Blocks until the rendering job has finished.

In almost all cases you do NOT want to call this, as it will hang the UI until the rendering job is complete. It’s included in API solely for unit testing and standalone Python scripts.

New in version 3.0.

wheelEvent(self, e: QWheelEvent)

Overridden mouse wheel event

writeProject(self, QDomDocument)

called to write map canvas settings to project

xyCoordinates

Emits current mouse position

Note

changed in 1.3 * [signal]

zoomByFactor(self, scaleFactor: float, center: QgsPointXY = None)

Zoom with the factor supplied. Factor > 1 zooms out, interval (0,1) zooms in If point is given, re-center on it

zoomIn(self)

Zoom in with fixed factor

zoomLastStatusChanged

Emitted when zoom last status changed [signal]

zoomNextStatusChanged

Emitted when zoom next status changed [signal]

zoomOut(self)

Zoom out with fixed factor

zoomScale(self, scale: float)

Zooms the canvas to a specific scale. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

zoomToFeatureExtent(self, rect: QgsRectangle)

Zooms to feature extent. Adds a small margin around the extent and does a pan if rect is empty (point extent)

zoomToFeatureIds(self, layer: QgsVectorLayer, ids: object)

Set canvas extent to the bounding box of a set of features

Parameters
  • layer – the vector layer

  • ids – the feature ids*

zoomToFullExtent(self)

Zoom to the full extent of all layers

zoomToNextExtent(self)

Zoom to the next extent (view)

zoomToPreviousExtent(self)

Zoom to the previous extent (view)

zoomToSelected(self, layer: QgsVectorLayer = None)

Zoom to the extent of the selected features of provided (vector) layer.

Parameters

layer – optionally specify different than current layer

zoomWithCenter(self, x: int, y: int, zoomIn: bool)

Zooms in/out with a given center