Respuestas:
Esto se mencionó brevemente en QGIS - Foro de desarrolladores donde necesita usar QgsMapLayer :: setCustomPropertylayer para habilitar el widget incrustado para su capa. Luego podemos agregar un itemAdded
evento para que cada vez que se agregue una capa, se muestre automáticamente con el widget de transparencia.
Entonces podría usar algo como lo siguiente en la Consola Python :
def transparency_slider():
for layer in QgsMapLayerRegistry.instance().mapLayers().values():
if layer.customProperty("embeddedWidgets/count") != 1 or layer.customProperty("embeddedWidgets/0/id") != u'transparency':
layer.setCustomProperty("embeddedWidgets/count", 1)
layer.setCustomProperty("embeddedWidgets/0/id", "transparency")
else:
pass
qgis.utils.iface.legendInterface().refreshLayerSymbology(layer)
# Connect "itemAdded" event to "transparency_slider" function
legend = qgis.utils.iface.legendInterface()
legend.itemAdded.connect(transparency_slider)
Probado en QGIS 2.18.3 para Win7 de 64 bits.
Ejemplo:
Insertar código en la consola de Python y antes de agregar shapefiles:
Resultado:
legend.itemAdded.disconnect(transparency_slider)
en la consola de Python;)
import qgis
; from qgis.core import QgsMapLayerRegistry
en tu guión :)
Hay un complemento llamado Transparencia de ráster que, como su nombre indica, abrirá un panel acoplable con controles deslizantes para cambiar la transparencia de una capa ráster seleccionada.
Vaya a Complementos> Administrar e instalar complementos: encuéntrelo e instálelo, aparecerá un nuevo icono asociado en sus barras de herramientas.