Chris Crook wrote > I am updating some plugins which use QgsExpression, and I'm wondering > about the best way to use expressions in QGIS3. It in the past I used a > pattern like: > > exp=QgsExpression(expressionText) > exp.prepare(fields) > request=QgsFeatureRequest() > request.setSubsetOfAttributes( expression.referencedColumns(), fields ) > for feat in layer.getFeatures(request) > value=expression.evaluate(feat) > > However with QGIS3 this has clearly changed! QgsExpression is not > included in the QGIS3 API https://qgis.org/api/annotated.html. The > prepare and referencedColumns are no longer defined. I did have a look at > the C++ code for QgsExpression, but I find I'm still looking for guidance. > > I've searched the QEP issues been able to locate a QEP, or other > documentation. Can anyone point me to some documentation or provide an > example of current best practice please.
Correction: prepare and referencedColumns are still present, prepare takes QgsExpressionContext rather than fields. So I think the pattern is very little changed -- Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Developer-f4099106.html _______________________________________________ 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
