Message posté par : nico-29
----------------------------------------
Si j'essaie ce code, la couleur n'est pas affectée :
-----------------
Code :
color = 'CASE ' + \
'WHEN "COLOUR" = \'1\' THEN
QColor.fromRgb(255,255,255) ' + \
'WHEN "COLOUR" = \'3\' THEN
QColor.fromRgb(227,26,28) ' + \
'WHEN "COLOUR" = \'4\' THEN
QColor.fromRgb(51,160,44) ' + \
'END'
prop = QgsProperty()
prop.setExpressionString(color)
prop.setActive(True)
lnSubSymbolLayer3.setDataDefinedProperty(QgsSymbolLayer.PropertyFillColor, prop)
-----------------
Si je le fait à la main, ça marche, et que j'enregistre le style en qml, j'ai :
-----------------
Code :
<Option type="Map" name="outlineColor">
<Option type="bool" value="true"
name="active"/>
<Option type="QString" value="CASE

 WHEN "COLOUR" = '1' THEN
color_rgb(255,255,255) 
 WHEN "COLOUR" =
'3' THEN color_rgb(227,26,28) 
WHEN "COLOUR" =
'4' THEN color_rgb(51,160,44) 
 END"
name="expression"/>
<Option type="int" value="3"
name="type"/>
</Option>
-----------------
Dans le qml, il y a une option outlineColor, mais quand je regarde la doc de
QgsSymbolLayer, il n'y a pas de property outlineColor, il y a strokeColor (mais qui ne
marche pas -> la couleur n'est pas affectée)
Nico
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343148#p343148
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