Adicionando grupo de camadas usando PyQGIS? [fechadas]

8

Como posso criar um novo grupo no gerenciador de camadas usando o código python?

malagueff
fonte

Respostas:

17

Adicionando grupos ao painel Camadas

Usando a nova árvore de camadas (introduzida desde o QGIS v.2.4 e disponível para o QGIS v3.x), você pode adicionar um grupo ao QGIS ToC desta maneira:

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

Se você deseja adicioná-lo a uma posição específica no sumário, use:

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

Adicionando grupos a outros grupos

Você pode até criar grupos aninhados (um grupo em um grupo):

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

Se você precisar primeiro encontrar um grupo existente para colocar seu novo grupo, use o seguinte:

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

Você pode aprender mais sobre o manejo da árvore de camadas aqui e aqui .

Germán Carrillo
fonte
Não consigo encontrar uma explicação para o que ToC significa?
JACado # 7/17
1
Árvore de camadas, legenda, ToC, são nomes normalmente usados ​​no GIS ao se referir à lista de camadas e grupos em um software.
Germán Carrillo
4

Existe o método QgsLegendInterface.addGroup (nome, expansão, pai)

Exemplo:

iface.legendInterface().addGroup( 'abc')
Matthias Kuhn
fonte
Muito obrigado, o problema era que eu não me referi à interface e usado diretamente QgsLegendInterface.addGroup
malagueff
Existe alguma maneira de controlar a posição em que você insere o menu? O menu é inserido na forma que você selecionou. Eu preciso colocá-lo acima de todas as camadas. Obrigado.
21813 Malagueff
@ Malagueff, edite sua pergunta de acordo com seu comentário.
usar o seguinte texto