So now I'd like to set another expression, quite similar, but this time the svg-path to a QgsSvgMarkerSymbolLayer.

Where can I find the name of that property? I found the QgsLayoutObject.PictureSource here:

https://github.com/qgis/QGIS/blob/c89a542365eb46317468135cb33236ecc0c3768c/src/core/layout/qgslayoutobject.h#L47

But I don't know what class should hold the data defined property enumeration for an svgMarkerSymbolLayer. Searching for "enum DataDefinedProperty" in the qgis code doesn't get me any other result.

Hope anyone can help me out here!

Kind regards,
Raymond



On 22-08-18 08:39, Raymond Nijssen wrote:
Thank you Nyall! Does exactly what I need. Will add it to the python cookbook.

Raymond



On 22-08-18 00:10, Nyall Dawson wrote:
On Wed, 22 Aug 2018 at 01:41, Raymond Nijssen <[email protected]> wrote:

Hi devs!

I'd like my python plugin to set an expression for overriding a property
and I have no clue how to do so. I expect there must be some generic way
to set expressions.

Specifically, I want to set the expression for the "Image source" of a
QgsLayoutItemPicture to:

'/path/to/pictures/' || attribute(@atlas_feature, 'ID') || '.svg'


Try

     property = QgsProperty.fromExpression( "'/path/to/pictures/' ||
attribute(@atlas_feature, 'ID') || '.svg'")
item.dataDefinedProperties().setProperty(QgsLayoutObject.PictureSource,
property)

Nyall



_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to