Respostas:
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")
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 .
Existe o método QgsLegendInterface.addGroup (nome, expansão, pai)
Exemplo:
iface.legendInterface().addGroup( 'abc')