Adicionando grupo de camadas usando PyQGIS? [fechadas]


8

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

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 .


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')

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.