How can I set the transparency for all layers within a group of layers?
I assume this will require the use of a FOR loop in the Python Console.
Based on How to set the transparency for multiple layers or add a global transparancy preference?
I tried the following:
for layer in iface.legendInterface().layers():
layer.renderer().setOpacity(0.5)
But I only get this error:
Traceback (most recent call last):
File "<input>", line 2, in <module>
AttributeError: 'QgsVectorLayer' object has no attribute 'renderer'
What am I doing wrong?
Best Answer
The problem is that 'QgsVectorLayer' objects have not attribute 'renderer'. This kind of method is for raster layers. If you want to change the transparency of QgsVectorLayer objects you have to use the method: 'setLayerTransparency(int)'; located in QgsVectorLayer class.
Next code works for these kind of objects:
I tested it in QGIS. See next images (raster layer has a different projection but the transparency was also assigned):