Agregar grupo de capas usando PyQGIS? [cerrado]

8

¿Cómo puedo crear un nuevo grupo en el administrador de capas usando el código de Python?

malagueff
fuente

Respuestas:

17

Agregar grupos al Panel de capas

Usando el nuevo árbol de capas (introducido desde QGIS v.2.4 y disponible para QGIS v3.x) puede agregar un grupo al QGIS ToC de esta manera:

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

Si desea agregarlo a una posición particular en la tabla de contenido, use:

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

Agregar grupos a otros grupos

Incluso puede crear grupos anidados (un grupo en un grupo):

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

Si primero necesita encontrar un grupo existente donde colocar su nuevo grupo, use esto:

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

Puede obtener más información sobre el manejo del árbol de capas aquí y aquí .

Germán Carrillo
fuente
¿No puedo encontrar una explicación de lo que significa ToC?
JACado
1
Árbol de capas, leyenda, ToC, son nombres que normalmente se usan en SIG cuando se hace referencia a la lista de capas y grupos en un software.
Germán Carrillo
4

Existe el método QgsLegendInterface.addGroup (nombre, expandir, padre)

Ejemplo:

iface.legendInterface().addGroup( 'abc')
Matthias Kuhn
fuente
Muchas gracias, el problema fue que no me referí a la interfaz y usé directamente QgsLegendInterface.addGroup
malagueff
¿Hay alguna forma de controlar la posición donde inserta el menú? El menú se inserta debajo de la forma que ha seleccionado. Necesito ponerlo sobre todas las capas. Gracias.
malagueff
@malagueff, edite su pregunta según su comentario.
artwork21