[QGIS-Developer] Custom python expression question
Matthias Kuhn 🌍
matthias at opengis.ch
Fri May 5 05:08:24 PDT 2017
Actually, there would also be the "context" which gives access to the
@layer variable (a QgsVectorLayer object) and other additional things.
It's just slightly more complex to set up because it's not proxied to
the @qgsfunction.
One will need to subclass QgsExpression.Function as done here:
https://github.com/qgis/QGIS/blob/master/python/core/__init__.py#L74-L102
And then register it manually.
I think we should also send this to the @qgsfunction in QGIS 3.
Matthias
On 05/05/2017 12:42 PM, Nathan Woodrow wrote:
> Hey Andreas,
>
> Parent means the parent expression itself. So in a function, you can
> know what the whole expression is e.g it points to the instance of.
>
> You can't really know what the layer because expressions are not always
> layer bound and QgsFeatures don't hold a reference to the layer they are
> from. Best you can do at the moment I think is to pass the layer name
> or id into the custom expressions.
>
> - Nathan
>
>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
More information about the QGIS-Developer
mailing list