Class: QgsLayerTreeGroup¶
- class qgis.core.QgsLayerTreeGroup¶
Bases:
QgsLayerTreeNode
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.
QgsLayerTreeGroup(name: str = ‘’, checked: bool = True) Constructor
Methods
Append an existing node.
Append a new group node with given name.
Append a new layer node for given map layer.
Returns a clone of the group.
Returns text representation of the tree.
Find group node with specified name.
Find group layer nodes.
Find layer node representing the map layer.
Find layer IDs used in all layer nodes.
Find all layer nodes.
Insert existing node at specified position.
Insert existing nodes at specified position.
Low-level insertion of children to the node.
Insert a new group node with given name at specified position.
Insert a new layer node for given map layer at specified position.
Returns whether the group is mutually exclusive (only one child can be checked at a time)
Returns the group's name.
- param node
Read children from XML and append them to the group.
Read common XML elements.
Read group (tree) from XML element <layer-tree-group> and return the newly created group (or
None
on error).Remove all child nodes.
Remove a child node from this group.
Remove child nodes from index "from".
Remove all child group nodes without layers.
Low-level removal of children from the node.
Remove map layer's node from this group.
Calls
resolveReferences()
on child tree nodesSet whether the group is mutually exclusive (only one child can be checked at a time).
Check or uncheck a node and all its children (taking into account exclusion rules)
Sets the group's name.
Set check state of children - if mutually exclusive
Write common XML elements.
Write group (tree) as XML element <layer-tree-group> and add it to the given parent element
- addChildNode(self, node: QgsLayerTreeNode)¶
Append an existing node. The node must not have a parent yet. The node will be owned by this group.
- Parameters
node (QgsLayerTreeNode) –
- addGroup(self, name: str) QgsLayerTreeGroup ¶
Append a new group node with given name. Newly created node is owned by this group.
- Parameters
name (str) –
- Return type
- addLayer(self, layer: QgsMapLayer) QgsLayerTreeLayer ¶
Append a new layer node for given map layer. The newly created node is owned by this group.
- Parameters
layer (QgsMapLayer) –
- Return type
- childEvent(self, QChildEvent)¶
- clone(self) QgsLayerTreeGroup ¶
Returns a clone of the group. The children are cloned too.
- Return type
- connectNotify(self, QMetaMethod)¶
- customEvent(self, QEvent)¶
- disconnectNotify(self, QMetaMethod)¶
- dump(self) str ¶
Returns text representation of the tree. For debugging purposes only.
- Return type
str
- findGroup(self, name: str) QgsLayerTreeGroup ¶
Find group node with specified name. Searches recursively the whole sub-tree.
- Parameters
name (str) –
- Return type
- findGroups(self, recursive: bool = False) List[QgsLayerTreeGroup] ¶
Find group layer nodes. Searches recursively the whole sub-tree, if recursive is set.
- Parameters
recursive (bool = False) –
- Return type
List[QgsLayerTreeGroup]
- 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.
- Parameters
layer (QgsMapLayer) –
- Return type
- findLayerIds(self) List[str] ¶
Find layer IDs used in all layer nodes. Searches recursively the whole sub-tree.
- Return type
List[str]
- findLayers(self) List[QgsLayerTreeLayer] ¶
Find all layer nodes. Searches recursively the whole sub-tree.
- Return type
List[QgsLayerTreeLayer]
- 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.
- Parameters
index (int) –
node (QgsLayerTreeNode) –
- 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.
- Parameters
index (int) –
nodes (Iterable[QgsLayerTreeNode]) –
- insertChildrenPrivate(self, index: int, nodes: Iterable[QgsLayerTreeNode])¶
Low-level insertion of children to the node. The children must not have any parent yet!
- 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.
- Parameters
index (int) –
name (str) –
- Return type
- 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.
- Parameters
index (int) –
layer (QgsMapLayer) –
- Return type
- isMutuallyExclusive(self) bool ¶
Returns whether the group is mutually exclusive (only one child can be checked at a time)
New in version 2.12.
- Return type
bool
- isSignalConnected(self, QMetaMethod) bool ¶
- name(self) str ¶
Returns the group’s name.
- Return type
str
- nodeVisibilityChanged(self, node: QgsLayerTreeNode)¶
- Parameters
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.- Parameters
element (QDomElement) –
context (QgsReadWriteContext) –
- readCommonXml(self, element: QDomElement)¶
Read common XML elements.
- readXml(element: QDomElement, context: QgsReadWriteContext) QgsLayerTreeGroup ¶
Read group (tree) from XML element <layer-tree-group> and return the newly created group (or
None
on error). Does not resolve textual references to layers. CallresolveReferences()
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 (orNone
on error). Also resolves textual references to layers from the project (callsresolveReferences()
internally).New in version 3.0.
- Parameters
element (QDomElement) –
context (QgsReadWriteContext) –
- Return type
- receivers(self, PYQT_SIGNAL) int ¶
- 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.
- Parameters
node (QgsLayerTreeNode) –
- removeChildren(self, from_: int, count: int)¶
Remove child nodes from index “from”. The nodes will be deleted.
- Parameters
from (int) –
count (int) –
- removeChildrenGroupWithoutLayers(self)¶
Remove all child group nodes without layers. The groupnodes will be deleted.
- removeChildrenPrivate(self, from_: int, count: int, destroy: bool = True)¶
Low-level removal of children from the node.
- removeLayer(self, layer: QgsMapLayer)¶
Remove map layer’s node from this group. The node will be deleted.
- Parameters
layer (QgsMapLayer) –
- resolveReferences(self, project: QgsProject, looseMatching: bool = False)¶
Calls
resolveReferences()
on child tree nodesNew in version 3.0.
- Parameters
project (QgsProject) –
looseMatching (bool = False) –
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- 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.
- Parameters
enabled (bool) –
initialChildIndex (int = -1) –
- setItemVisibilityCheckedRecursive(self, checked: bool)¶
Check or uncheck a node and all its children (taking into account exclusion rules)
- Parameters
checked (bool) –
- setName(self, n: str)¶
Sets the group’s name.
- Parameters
n (str) –
- timerEvent(self, QTimerEvent)¶
- updateChildVisibilityMutuallyExclusive(self)¶
Set check state of children - if mutually exclusive
- writeCommonXml(self, element: QDomElement)¶
Write common XML elements.
- writeXml(self, parentElement: QDomElement, context: QgsReadWriteContext)¶
Write group (tree) as XML element <layer-tree-group> and add it to the given parent element
- Parameters
parentElement (QDomElement) –
context (QgsReadWriteContext) –