Ajouter un groupe de couches à l'aide de PyQGIS? [fermé]


8

Comment puis-je créer un nouveau groupe dans le gestionnaire de couches en utilisant du code python?

Réponses:


17

Ajout de groupes au panneau Calques

À l'aide de la nouvelle arborescence de couches (introduite depuis QGIS v.2.4 et disponible pour QGIS v3.x), vous pouvez ajouter un groupe au QGIS ToC de cette façon:

root = QgsProject.instance().layerTreeRoot()
myGroup1 = root.addGroup("My Group 1")

Si vous souhaitez l'ajouter à une position particulière dans la TdC, utilisez:

myGroup1 = root.insertGroup(2, "My Group 1")

Ajout de groupes dans d'autres groupes

Vous pouvez même créer des groupes imbriqués (un groupe dans un groupe):

myGroupA = myGroup1.addGroup("My Group A")

Si vous devez d'abord trouver un groupe existant où placer votre nouveau groupe, utilisez ceci:

myOriginalGroup = root.findGroup("My existing group") # We assume the group exists
myNewGroup = myOriginalGroup.addGroup("My New Group")

Vous pouvez en savoir plus sur la gestion de l'arborescence des calques ici et ici .


Je ne trouve pas d'explication sur ce que signifie la TdC?
JACado

1
Arborescence des couches, légende, ToC, ce sont des noms normalement utilisés dans les SIG lors de la référence à la liste des couches et des groupes dans un logiciel.
Germán Carrillo

4

Il y a la méthode QgsLegendInterface.addGroup (nom, développer, parent)

Exemple:

iface.legendInterface().addGroup( 'abc')

Merci beaucoup, le problème était que je n'ai pas fait référence à l'interface et utilisé directement QgsLegendInterface.addGroup
malagueff

Existe-t-il un moyen de contrôler la position où vous insérez le menu? Le menu est inséré sous la forme que vous avez sélectionnée. Je dois le mettre au-dessus de toutes les couches. Merci.
malagueff

@malagueff, veuillez modifier votre question en fonction de votre commentaire.
artwork21
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.