Class: QgsLayerTreeView¶
Extends QTreeView and provides additional functionality when working with a layer tree.
The view updates expanded state of layer tree nodes and also listens to changes to expanded states in the layer tree.
The view keeps track of the current layer and emits a signal when the current layer has changed.
Allows the client to specify a context menu provider with custom actions. Also it comes with a set of default actions that can be used when building context menu.
See also
QgsLayerTreeView¶
Class Hierarchy¶
Base classes¶
Base class for QTreeView widgets which display a layer tree. |
|
Methods
Adds an indicator to the given layer tree node. |
|
Returns if valid layers should be hidden (i.e. only invalid layers are shown). |
|
Returns list of indicators associated with a particular layer tree node. |
|
Returns width of contextual menu mark, at right of layer node items. |
|
Returns pointer to the context menu provider. |
|
Returns the proxy model used by the view. |
|
Force refresh of layer symbology. |
|
Removes a previously added indicator to a layer tree node. |
|
Sets whether valid layers should be hidden (i.e. only invalid layers are shown). |
|
Set width of contextual menu mark, at right of layer node items. |
|
Convenience methods which sets the visible state of the specified map layer. |
|
Sets provider for context menu. |
|
Set the message bar to display messages from the layer tree |
|
Set the show private layers to showPrivate |
|
Returns the show private layers status |
Virtual Methods
In PyQGIS, only methods marked as virtual can be safely overridden in a Python subclass of QgsLayerTreeView. See the FAQ for more details.
Overridden |
Signals
Emitted when the context menu is about to show. |
|
Emitted when a current layer is changed |
|
Emitted when datasets are dropped onto the layer tree view |
- class qgis.gui.QgsLayerTreeView[source]¶
Bases:
QgsLayerTreeViewBase- __init__(parent: QWidget | None = None)
Constructor for QgsLayerTreeView
- Parameters:
parent (Optional[QWidget] = None)
- addIndicator(self, node: QgsLayerTreeNode | None, indicator: QgsLayerTreeViewIndicator | None)[source]¶
Adds an indicator to the given layer tree node. Indicators are icons shown next to layer/group names in the layer tree view. They can be used to show extra information with tree nodes and they allow user interaction.
Does not take ownership of the indicator. One indicator object may be used for multiple layer tree nodes.
See also
See also
Added in version 3.2.
- Parameters:
node (Optional[QgsLayerTreeNode])
indicator (Optional[QgsLayerTreeViewIndicator])
- signal contextMenuAboutToShow(menu: QMenu)[source]¶
Emitted when the context menu is about to show.
Allows customization of the menu.
Added in version 3.32.
- Parameters:
menu (QMenu)
- signal currentLayerChanged(layer: QgsMapLayer)[source]¶
Emitted when a current layer is changed
- Parameters:
layer (QgsMapLayer)
- signal datasetsDropped(event: QDropEvent)[source]¶
Emitted when datasets are dropped onto the layer tree view
- Parameters:
event (QDropEvent)
- hideValidLayers(self) bool[source]¶
Returns if valid layers should be hidden (i.e. only invalid layers are shown).
See also
Added in version 3.38.
- Return type:
bool
- indicators(self, node: QgsLayerTreeNode | None) List[QgsLayerTreeViewIndicator]¶
Returns list of indicators associated with a particular layer tree node.
See also
See also
Added in version 3.2.
- Parameters:
node (Optional[QgsLayerTreeNode])
- Return type:
- layerMarkWidth(self) int[source]¶
Returns width of contextual menu mark, at right of layer node items.
See also
Added in version 3.8.
- Return type:
int
Returns pointer to the context menu provider. May be
None- Return type:
Optional[QgsLayerTreeViewMenuProvider]
- modelRowsInserted(self, index: QModelIndex, start: int, end: int)[source]¶
- Parameters:
index (QModelIndex)
start (int)
end (int)
- proxyModel(self) QgsLayerTreeProxyModel | None[source]¶
Returns the proxy model used by the view.
This can be used to set filters controlling which layers are shown in the view.
Added in version 3.18.
- Return type:
Optional[QgsLayerTreeProxyModel]
- refreshLayerSymbology(self, layerId: str | None)[source]¶
Force refresh of layer symbology. Normally not needed as the changes of layer’s renderer are monitored by the model
- Parameters:
layerId (Optional[str])
- removeIndicator(self, node: QgsLayerTreeNode | None, indicator: QgsLayerTreeViewIndicator | None)[source]¶
Removes a previously added indicator to a layer tree node. Does not delete the indicator.
See also
See also
Added in version 3.2.
- Parameters:
node (Optional[QgsLayerTreeNode])
indicator (Optional[QgsLayerTreeViewIndicator])
- setHideValidLayers(self, hideValid: bool)[source]¶
Sets whether valid layers should be hidden (i.e. only invalid layers are shown).
See also
Added in version 3.38.
- Parameters:
hideValid (bool)
- setLayerMarkWidth(self, width: int)[source]¶
Set width of contextual menu mark, at right of layer node items.
See also
Added in version 3.8.
- Parameters:
width (int)
- setLayerVisible(self, layer: QgsMapLayer | None, visible: bool)[source]¶
Convenience methods which sets the visible state of the specified map
layer.See also
QgsLayerTreeNode.setItemVisibilityChecked()Added in version 3.10.
- Parameters:
layer (Optional[QgsMapLayer])
visible (bool)
- setMenuProvider(self, menuProvider: QgsLayerTreeViewMenuProvider | None)[source]¶
Sets provider for context menu. Takes ownership of the instance
- Parameters:
menuProvider (Optional[QgsLayerTreeViewMenuProvider])
- setMessageBar(self, messageBar: QgsMessageBar | None)[source]¶
Set the message bar to display messages from the layer tree
Added in version 3.14.
- Parameters:
messageBar (Optional[QgsMessageBar])
- virtual setModel(self, model: QAbstractItemModel | None)[source]¶
Overridden
setModel()from base class. OnlyQgsLayerTreeModelis an acceptable model.Note
This method automatically creates a
QgsLayerTreeProxyModelto use as a proxy.- Parameters:
model (Optional[QAbstractItemModel])
- virtual setModel(self, model: QgsLayerTreeModel | None, proxyModel: QgsLayerTreeProxyModel | None)[source]
Sets the
modelandproxyModelfor the view.Use this method when a custom proxy model is required.
Added in version 4.0.
- Parameters:
model (Optional[QgsLayerTreeModel])
proxyModel (Optional[QgsLayerTreeProxyModel])