[QGIS-Developer] QGIS python action with Expression problem

Andreas Neumann a.neumann at carto.net
Mon Nov 7 02:27:46 PST 2022


Hi,

I am trying to implement a Python action in "form" and "feature" action 
scope that uses a QGIS expression, but fail to get a valid expression 
calculation.

Here is my code so far:

from qgis.PyQt.QtWidgets import *
from qgis.core import QgsMessageLog

expContext = QgsExpressionContext()
expContext.appendScopes(QgsExpressionContextUtils.globalProjectLayerScopes(form.layer()))
expContext.appendScope(QgsExpressionContextUtils.formScope(form.feature(),'SingleEditMode'))

exp = QgsExpression('t_id')

expResult = exp.evaluate(expContext)
QgsMessageLog.logMessage('Expression Result=' + str(expResult))

So even the most basic expression (getting a field value) will not work 
in my code. I always get "None" as a result.

Any idea what is missing? Am I missing a certain scope or an import 
statement?

Thank you very much for any hints what might be wrong here ...

Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20221107/ac690df0/attachment.htm>


More information about the QGIS-Developer mailing list