I have some layers loaded in QGIS, in various groups. I want, with PyQGIS, do some stuff on layers from one of theses groups, like adding geometry type to the layer name.
This way, I can do it on all layers :
layers = QgsProject.instance().mapLayers().values()
for layer in layers:
layer.setName(layer.name()+"_"+QgsWkbTypes.displayString(layer.wkbType()))
This way, I can access layer names from one specific group :
root = QgsProject.instance().layerTreeRoot()
my_group = root.findGroup('My group')
for layer in my_group.children():
print(layer.name())
if isinstance(layer, QgsLayerTreeLayer):
layer.setName(layer.name()+"_"+QgsWkbTypes.displayString(layer.wkbType()))
The "print" of layer name works, but I can't change name, either get the geometry type. I get this error :
AttributeError: 'QgsLayerTreeLayer' object has no attribute 'wkbType'
Does someone know what is the correct way to do that?