I want to automatically count features in my opened layers, and add the result in the layer name, with pyqgis. I can do it with this code :
layers = QgsProject.instance().mapLayers().values() for layer in layers: fc = layer.featureCount() fc = str(fc) layer.setName(layer.name()+" ["+fc+"]")
However, it does count features in each layer, but not in each renderer category when a layer have a categorized style. I was trying something like this just to print the result :
for layer in layers: renderer = layer.renderer() renderert = renderer.type() if renderert == "categorizedSymbol": for cat in renderer.categories(): print(cat.label+cat.featureCount())
But i get an "AttributeError: 'QgsRendererCategory' object has no attribute 'featureCount'"
Do you know how to apply the featureCount() function to layers and categories?