#1 Wed 20 January 2016 10:02
- Clémence El M-M
- Participant occasionnel
- Date d'inscription: 2 Feb 2015
- Messages: 12
QGIS : changer la transparence d'une couche en Python
Bonjour,
Pour un de mes plugins, j'ai besoin de pouvoir modifier la transparence d'une couche.
Connaissez-vous la commande PyGIS capable de le faire ?
Merci bien
Hors ligne
#2 Wed 20 January 2016 10:21
Re: QGIS : changer la transparence d'une couche en Python
Bonjour Clémence,
D'une couche raster ou vecteur ?
En vecteur, cela devrait fonctionner :
rlayer = qgis.utils.iface.activeLayer()
# Set opacity
rlayer.renderer().setOpacity(0.5)
Hors ligne
#3 Wed 20 January 2016 11:01
- Clémence El M-M
- Participant occasionnel
- Date d'inscription: 2 Feb 2015
- Messages: 12
Re: QGIS : changer la transparence d'une couche en Python
Ha bonjour Pierre-André ^^
J'ai essayé ton code (pour un vecteur) et la console me répond que l'attribut renderer est inconnu. Je regarde du côté de QgsMapRenderer() mais sans succès non plus... Merci pour la piste en tous cas.
Hors ligne
#4 Wed 20 January 2016 12:10
- ondeos
- Participant occasionnel
- Date d'inscription: 31 Mar 2011
- Messages: 28
Re: QGIS : changer la transparence d'une couche en Python
J'auto supprime mon message car ma réponse était bien mauvaise...
Dernière modification par ondeos (Wed 20 January 2016 12:12)
Hors ligne
#5 Wed 20 January 2016 12:51
Re: QGIS : changer la transparence d'une couche en Python
Bonjour,
La recette pour changer la transparence (valeur de transparence entre 0 et 100)
Code:
rlayer = qgis.utils.iface.activeLayer() rlayer.setLayerTransparency(70) rlayer.triggerRepaint()
Cordialement
Thomas Gratier
Hors ligne
#6 Wed 20 January 2016 12:59
- Clémence El M-M
- Participant occasionnel
- Date d'inscription: 2 Feb 2015
- Messages: 12
Re: QGIS : changer la transparence d'une couche en Python
Merci !!
Je cherchais midi à 14h du coup...
Hors ligne
#7 Wed 20 January 2016 21:22
Re: QGIS : changer la transparence d'une couche en Python
Effectivement, opacity c'était avant (< 2.0) et il manquait le repaint dans mon code.
Merci Thomas !
Hors ligne