I have a vector layer with a "Simple Marker" for the style. I see I can create Data Defined properties for both the colour and the outline colours.
In Python, I'm able to change the marker's base colour (for the data defined property), but I can't seem to find how to change the outline's colour.
Here's what I have:
symbols = layer.rendererV2().symbols()
symbol = symbols[0]
expr = 'color_rgba(255,0,0,0)'
symbol.symbolLayer(0).setDataDefinedProperty('color', expr)
# I would expect this to work, but it doesn't
symbol.symbolLayer(0).setDataDefinedProperty('outlineColor', expr)
Any ideas?
Answer
Next code works [but I used 'color_rgba(255,0,0,255)' to avoid complete transparency]; where 'color_border' is the adequate property for color border.
layer = iface.activeLayer()
symbols = layer.rendererV2().symbols()
symbol = symbols[0]
expr = 'color_rgba(255,0,0,255)'
symbol.symbolLayer(0).setDataDefinedProperty('color', expr)
# I would expect this to work, but it doesn't
symbol.symbolLayer(0).setDataDefinedProperty('color_border', expr)
layer.triggerRepaint()
iface.legendInterface().refreshLayerSymbology(layer)
No comments:
Post a Comment