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?