Subgroup: Layer

Class: QgsLayerTreeGroup

class qgis.core.QgsLayerTreeGroup(name: str = '', checked: bool = True)

Bases: qgis._core.QgsLayerTreeNode

Constructor

Layer tree group node serves as a container for layers and further groups.

Group names do not need to be unique within one tree nor within one parent.

New in version 2.4: Methods

addChildNode Append an existing node.
addGroup Append a new group node with given name.
addLayer Append a new layer node for given map layer.
childEvent
clone Return a clone of the group.
connectNotify
customEvent
disconnectNotify
dump Return text representation of the tree.
findGroup Find group node with specified name.
findLayer Find layer node representing the map layer.
findLayerIds Find layer IDs used in all layer nodes.
findLayers Find all layer nodes.
insertChildNode Insert existing node at specified position.
insertChildNodes Insert existing nodes at specified position.
insertChildrenPrivate
insertGroup Insert a new group node with given name at specified position.
insertLayer Insert a new layer node for given map layer at specified position.
isMutuallyExclusive Return whether the group is mutually exclusive (only one child can be checked at a time)
isSignalConnected
name Returns the group’s name.
nodeVisibilityChanged
readChildrenFromXml Read children from XML and append them to the group.
readCommonXml
readXml Read group (tree) from XML element <layer-tree-group> and return the newly created group (or null on error).
receivers
removeAllChildren Remove all child nodes.
removeChildNode Remove a child node from this group.
removeChildren Remove child nodes from index “from”.
removeChildrenGroupWithoutLayers Remove all child group nodes without layers.
removeChildrenPrivate
removeLayer Remove map layer’s node from this group.
resolveReferences Calls resolveReferences() on child tree nodes
sender
senderSignalIndex
setIsMutuallyExclusive Set whether the group is mutually exclusive (only one child can be checked at a time).
setItemVisibilityCheckedRecursive Check or uncheck a node and all its children (taking into account exclusion rules)
setName Sets the group’s name.
timerEvent
updateChildVisibilityMutuallyExclusive Set check state of children - if mutually exclusive
writeCommonXml
writeXml Write group (tree) as XML element <layer-tree-group> and add it to the given parent element

Signals

Attributes

addChildNode(self, node: QgsLayerTreeNode)

Append an existing node. The node must not have a parent yet. The node will be owned by this group.

addGroup(self, name: str) → QgsLayerTreeGroup

Append a new group node with given name. Newly created node is owned by this group.

addLayer(self, layer: QgsMapLayer) → QgsLayerTreeLayer

Append a new layer node for given map layer. The newly created node is owned by this group.

childEvent()
clone(self) → QgsLayerTreeGroup

Return a clone of the group. The children are cloned too.

connectNotify()
customEvent()
disconnectNotify()
dump(self) → str

Return text representation of the tree. For debugging purposes only.

findGroup(self, name: str) → QgsLayerTreeGroup

Find group node with specified name. Searches recursively the whole sub-tree.

findLayer(self, layer: QgsMapLayer) → QgsLayerTreeLayer

Find layer node representing the map layer. Searches recursively the whole sub-tree.

New in version 3.0.

findLayer(self, layerId: str) -> QgsLayerTreeLayer Find layer node representing the map layer specified by its ID. Searches recursively the whole sub-tree.

findLayerIds(self) → List[str]

Find layer IDs used in all layer nodes. Searches recursively the whole sub-tree.

findLayers(self) → List[QgsLayerTreeLayer]

Find all layer nodes. Searches recursively the whole sub-tree.

insertChildNode(self, index: int, node: QgsLayerTreeNode)

Insert existing node at specified position. The node must not have a parent yet. The node will be owned by this group.

insertChildNodes(self, index: int, nodes: Iterable[QgsLayerTreeNode])

Insert existing nodes at specified position. The nodes must not have a parent yet. The nodes will be owned by this group.

insertChildrenPrivate()
insertGroup(self, index: int, name: str) → QgsLayerTreeGroup

Insert a new group node with given name at specified position. The newly created node is owned by this group.

insertLayer(self, index: int, layer: QgsMapLayer) → QgsLayerTreeLayer

Insert a new layer node for given map layer at specified position. The newly created node is owned by this group.

isMutuallyExclusive(self) → bool

Return whether the group is mutually exclusive (only one child can be checked at a time)

New in version 2.12.

isSignalConnected()
name(self) → str

Returns the group’s name.

nodeVisibilityChanged(self, node: QgsLayerTreeNode)
readChildrenFromXml(self, element: QDomElement, context: QgsReadWriteContext)

Read children from XML and append them to the group. Does not resolve textual references to layers. Call resolveReferences() afterwards to do it.

readCommonXml()
readXml(element: QDomElement, context: QgsReadWriteContext) → QgsLayerTreeGroup

Read group (tree) from XML element <layer-tree-group> and return the newly created group (or null on error). Does not resolve textual references to layers. Call resolveReferences() afterwards to do it.

readXml(element: QDomElement, project: QgsProject, context: QgsReadWriteContext) -> QgsLayerTreeGroup Read group (tree) from XML element <layer-tree-group> and return the newly created group (or null on error). Also resolves textual references to layers from the project (calls resolveReferences() internally).

New in version 3.0.

receivers()
removeAllChildren(self)

Remove all child nodes. The nodes will be deleted.

removeChildNode(self, node: QgsLayerTreeNode)

Remove a child node from this group. The node will be deleted.

removeChildren(self, from_: int, count: int)

Remove child nodes from index “from”. The nodes will be deleted.

removeChildrenGroupWithoutLayers(self)

Remove all child group nodes without layers. The groupnodes will be deleted.

removeChildrenPrivate()
removeLayer(self, layer: QgsMapLayer)

Remove map layer’s node from this group. The node will be deleted.

resolveReferences(self, project: QgsProject, looseMatching: bool = False)

Calls resolveReferences() on child tree nodes

New in version 3.0.

sender()
senderSignalIndex()
setIsMutuallyExclusive(self, enabled: bool, initialChildIndex: int = -1)

Set whether the group is mutually exclusive (only one child can be checked at a time). The initial child index determines which child should be initially checked. The default value of -1 will determine automatically (either first one currently checked or none)

New in version 2.12.

setItemVisibilityCheckedRecursive(self, checked: bool)

Check or uncheck a node and all its children (taking into account exclusion rules)

setName(self, n: str)

Sets the group’s name.

timerEvent()
updateChildVisibilityMutuallyExclusive(self)

Set check state of children - if mutually exclusive

writeCommonXml()
writeXml(self, parentElement: QDomElement, context: QgsReadWriteContext)

Write group (tree) as XML element <layer-tree-group> and add it to the given parent element