Class: QgsLayerTreeMapCanvasBridge

class qgis.gui.QgsLayerTreeMapCanvasBridge(root: QgsLayerTree, canvas: QgsMapCanvas, parent: QObject = None)

Bases: PyQt5.QtCore.QObject

Constructor: does not take ownership of the layer tree nor canvas

The QgsLayerTreeMapCanvasBridge class takes care of updates of layer set for QgsMapCanvas from a layer tree. The class listens to the updates in the layer tree and updates the list of layers for rendering whenever some layers are added, removed, or their visibility changes.

The update of layers is not done immediately - it is postponed, so a series of updates to the layer tree will trigger just one update of canvas layers.

Also allows the client to override the default order of layers. This is useful in advanced cases where the grouping in layer tree should be independent from the actual order in the canvas.

New in version 2.4.

Parameters
autoSetupOnFirstLayer(self) → bool
Return type

bool

canvasLayersChanged

Emitted when the set of layers (or order of layers) visible in the canvas changes.

New in version 3.0: [signal]

Parameters

layers (Iterable[QgsMapLayer]) –

childEvent()
connectNotify()
customEvent()
disconnectNotify()
isSignalConnected()
mapCanvas(self) → QgsMapCanvas
Return type

QgsMapCanvas

overviewCanvas(self) → QgsMapOverviewCanvas

Returns associated overview canvas (may be None)

New in version 3.0.

Return type

QgsMapOverviewCanvas

receivers()
rootGroup(self) → QgsLayerTree
Return type

QgsLayerTree

sender()
senderSignalIndex()
setAutoSetupOnFirstLayer(self, enabled: bool)

if enabled, will automatically set full canvas extent and destination CRS + map units when first layer(s) are added

Parameters

enabled (bool) –

setCanvasLayers(self)

force update of canvas layers from the layer tree. Normally this should not be needed to be called.

setOvervewCanvas(self, overviewCanvas: QgsMapOverviewCanvas)
Parameters

overviewCanvas (QgsMapOverviewCanvas) –

setOverviewCanvas(self, overviewCanvas: QgsMapOverviewCanvas)

Associates overview canvas with the bridge, so the overview will be updated whenever main canvas is updated

New in version 3.6.

Parameters

overviewCanvas (QgsMapOverviewCanvas) –

timerEvent()