Class: QgsLegendModel¶
- class qgis.core.QgsLegendModel¶
Bases:
QgsLayerTreeModel
Item model implementation based on layer tree model for layout legend.
Overrides some functionality of
QgsLayerTreeModel
to better fit the needs of layout legends.QgsLegendModel(rootNode:
QgsLayerTree
, parent: QObject = None, layout:QgsLayoutItemLegend
= None) Construct the model based on the given layer treeQgsLegendModel(rootNode:
QgsLayerTree
, layout:QgsLayoutItemLegend
) Alternative constructor.Methods
Clears any previously cached data for the specified
node
.- param index:
Filter nodes from
QgsMapLayerLegend
according to the current filtering rules- param index:
Emitted when layer flags have changed.
Updates model when node's name has changed
emit
dataChanged()
for layer tree node itemsUpdates layer data for scale dependent layers, should be called when map scale changes.
Signals
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
- addLegendToLayer(self, nodeL: QgsLayerTreeLayer)¶
- beginInsertColumns(self, QModelIndex, int, int)¶
- beginInsertRows(self, QModelIndex, int, int)¶
- beginMoveColumns(self, QModelIndex, int, int, QModelIndex, int) bool ¶
- beginMoveRows(self, QModelIndex, int, int, QModelIndex, int) bool ¶
- beginRemoveColumns(self, QModelIndex, int, int)¶
- beginRemoveRows(self, QModelIndex, int, int)¶
- beginResetModel(self)¶
- changePersistentIndex(self, QModelIndex, QModelIndex)¶
- changePersistentIndexList(self, Iterable[QModelIndex], Iterable[QModelIndex])¶
- childEvent(self, QChildEvent)¶
- clearCachedData(self, node: QgsLayerTreeNode)¶
Clears any previously cached data for the specified
node
.New in version 3.14.
- Parameters:
node (QgsLayerTreeNode) –
- connectNotify(self, QMetaMethod)¶
- connectToLayer(self, nodeLayer: QgsLayerTreeLayer)¶
- connectToLayers(self, parentGroup: QgsLayerTreeGroup)¶
- connectToRootNode(self)¶
- createIndex(self, int, int, object: object = 0) QModelIndex ¶
- customEvent(self, QEvent)¶
- data(self, index: QModelIndex, role: int) Any ¶
- Parameters:
index (QModelIndex) –
role (int) –
- Return type:
Any
- decodeData(self, int, int, QModelIndex, QDataStream) bool ¶
- disconnectFromLayer(self, nodeLayer: QgsLayerTreeLayer)¶
- disconnectFromLayers(self, parentGroup: QgsLayerTreeGroup)¶
- disconnectFromRootNode(self)¶
- disconnectNotify(self, QMetaMethod)¶
- encodeData(self, Iterable[QModelIndex], QDataStream)¶
- endInsertColumns(self)¶
- endInsertRows(self)¶
- endMoveColumns(self)¶
- endMoveRows(self)¶
- endRemoveColumns(self)¶
- endRemoveRows(self)¶
- endResetModel(self)¶
- filterLegendNodes(self, nodes: Iterable[QgsLayerTreeModelLegendNode]) List[QgsLayerTreeModelLegendNode] ¶
Filter nodes from
QgsMapLayerLegend
according to the current filtering rules
- flags(self, index: QModelIndex) Qt.ItemFlags ¶
- Parameters:
index (QModelIndex) –
- Return type:
Qt.ItemFlags
- iconGroup() QIcon ¶
- indexOfParentLayerTreeNode(self, parentNode: QgsLayerTreeNode) QModelIndex ¶
- invalidateLegendMapBasedData(self)¶
- isSignalConnected(self, QMetaMethod) bool ¶
- layerFlagsChanged(self)¶
Emitted when layer flags have changed.
New in version 3.18.
- layerLegendChanged(self)¶
- layerNeedsUpdate(self)¶
- legendCleanup(self)¶
- legendEmbeddedInParent(self, nodeLayer: QgsLayerTreeLayer) bool ¶
- legendIconEmbeddedInParent(self, nodeLayer: QgsLayerTreeLayer) QIcon ¶
- legendInvalidateMapBasedData(self)¶
- legendNodeData(self, node: QgsLayerTreeModelLegendNode, role: int) Any ¶
- legendNodeDataChanged(self)¶
- legendNodeFlags(self, node: QgsLayerTreeModelLegendNode) Qt.ItemFlags ¶
- legendNodeIndex(self, row: int, column: int, node: QgsLayerTreeModelLegendNode) QModelIndex ¶
- legendNodeRowCount(self, node: QgsLayerTreeModelLegendNode) int ¶
- legendParent(self, legendNode: QgsLayerTreeModelLegendNode) QModelIndex ¶
- legendRootIndex(self, row: int, column: int, nL: QgsLayerTreeLayer) QModelIndex ¶
- legendRootRowCount(self, nL: QgsLayerTreeLayer) int ¶
- nodeAddedChildren(self, node: QgsLayerTreeNode, indexFrom: int, indexTo: int)¶
- nodeCustomPropertyChanged(self, node: QgsLayerTreeNode, key: str)¶
- nodeLayerLoaded(self)¶
- nodeLayerWillBeUnloaded(self)¶
- nodeNameChanged(self, node: QgsLayerTreeNode, name: str)¶
Updates model when node’s name has changed
- nodeRemovedChildren(self)¶
- nodeVisibilityChanged(self, node: QgsLayerTreeNode)¶
- nodeWillAddChildren(self, node: QgsLayerTreeNode, indexFrom: int, indexTo: int)¶
- nodeWillRemoveChildren(self, node: QgsLayerTreeNode, indexFrom: int, indexTo: int)¶
- persistentIndexList(self) List[QModelIndex] ¶
- receivers(self, PYQT_SIGNAL) int ¶
- recursivelyEmitDataChanged(self, index: QModelIndex = QModelIndex())¶
emit
dataChanged()
for layer tree node items
- refreshLegend¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Parameters:
name (str = ...) –
revision (int = ...) –
arguments (Sequence = ...) –
- Return type:
PYQT_SIGNAL
- refreshScaleBasedLayers(self, index: QModelIndex = QModelIndex(), previousScale: float = 0)¶
Updates layer data for scale dependent layers, should be called when map scale changes. Emits
dataChanged()
for all scale dependent layers.
- removeLegendFromLayer(self, nodeLayer: QgsLayerTreeLayer)¶
- resetInternalData(self)¶
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- timerEvent(self, QTimerEvent)¶