Message posté par : bd66300
----------------------------------------
Objet: PyQGis symbology rulebased
(re) bonjour,
Suite à mon précédent message , j’ai progressé un peu. J’arrive maintenant à ‘lire’ les
différents éléments de chaque règle (code ci-dessous) mais n’arrive pas à modifier l’un de
ces éléments.
Dans l’exemple ci-dessous, j’essaie de modifier la condition de la 7ème règle
("MotsCles" like \'%GEOLOGI%\''). Mais lorsque je regarde dans Qgis,
la modification n’a pas été faite.
Avez-vous une idée?
-----------------
Code :
layerPhotos = QgsProject.instance().mapLayersByName('Photographies')[0]
iface.setActiveLayer(layerPhotos)
renderer = layerPhotos.renderer()
root_rule = renderer.rootRule() # objet de la class qgis._core.QgsRuleBasedRenderer.Rule
print(root_rule.children()[6].symbol())
print(root_rule.children()[6].label())
print(root_rule.children()[6].maximumScale())
print(root_rule.children()[6].minimumScale())
print("filtre: ", root_rule.children()[6].filter())
print("description:", root_rule.children()[6].description())
exp = QgsExpression('"MotsCles" like \'%GEOLOGI%\'')
renderer.rootRule().children()[6].filterExp = exp
layerPhotos.setRenderer(renderer)
layerPhotos.triggerRepaint()
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343038#p343038
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net