banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#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

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

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)


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

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

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 945
Site web

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

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

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 !


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

Pied de page des forums

Powered by FluxBB