Suite

Définir la transparence des étiquettes dans PyQGIS


J'ai essayé de comprendre comment définir la transparence de mes étiquettes et de mes tampons d'étiquettes dans PyQGIS pour une application que je construis. J'utilise la classe "setCustomProperty" de l'API QGIS. Je ne trouve rien dans la documentation de l'API qui permette de définir la transparence. Ceci est possible dans l'interface graphique de QGIS via un curseur, mais apparemment impossible dans PyQGIS. Voici un extrait de mon code d'étiquetage :

self.mylayer.setCustomProperty("labeling", "pal") self.mylayer.setCustomProperty("labeling/isExpression", True) self.mylayer.setCustomProperty("labeling/enabled", True) self.mylayer.setCustomProperty("labeling /bufferDraw", True) self.mylayer.setCustomProperty("labeling/bufferSize", "1") self.mylayer.setCustomProperty("labeling/bufferColor", "white") self.mylayer.setCustomProperty("labeling/fontFamily", "Arial")

Ne devrait-il pas y avoir un paramètre de propriété personnalisé pour la transparence ? Comme un paramètre bufferAlpha ou textAlpha ou quelque chose comme ça ?


texteTranspa fonctionné pour moi. Vous devez lui donner une valeur (chaîne, entier ou flottant) comprise entre 0 et 100 (comme un pourcentage) :

layer = iface.activeLayer() layer.setCustomProperty("labeling", "pal") layer.setCustomProperty("labeling/enabled", "true") layer.setCustomProperty("labeling/fontFamily", "Arial") layer.setCustomProperty ("labeling/fontSize", "10") layer.setCustomProperty("labeling/fieldName", "NAME") layer.setCustomProperty("labeling/textTransp", "70") iface.mapCanvas().refresh()


Voir la vidéo: GIS Solutions - QGIS How to create a polygon, cut it and merge (Octobre 2021).