Réponses:
Cela a été brièvement mentionné dans QGIS - Forum des développeurs où vous devez utiliser QgsMapLayer :: setCustomPropertylayer pour activer le widget intégré pour votre couche. Nous pouvons ensuite ajouter un itemAdded
événement afin que chaque fois qu'un calque est ajouté, il sera automatiquement affiché avec le widget de transparence.
Vous pouvez donc utiliser quelque chose comme ce qui suit dans la console 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)
Testé sur QGIS 2.18.3 pour Win7 64 bits.
Exemple:
Insertion de code dans la console python et avant d'ajouter des fichiers de formes:
Résultat:
legend.itemAdded.disconnect(transparency_slider)
dans la console python;)
import qgis
; from qgis.core import QgsMapLayerRegistry
dans votre script :)
Il existe un plugin appelé Transparence raster qui, comme son nom l'indique, ouvrira un panneau ancrable avec des curseurs pour changer la transparence d'une couche raster sélectionnée.
Allez dans Plugins> Gérer et installer les plugins - Trouvez-le et installez, une nouvelle icône associée apparaîtra sur vos barres d'outils.