[QGIS-Developer] Get data from QgsFieldExpressionWidget (QGIS Master)
matteo
matteo.ghetta at gmail.com
Mon Jun 26 04:11:08 PDT 2017
Hi all,
I'm writing a plugin that uses QgsFieldExpressionWidget to get the field
and its attributes from a layer.
I'm really fighting to find a method to get the attributes of the field
as a list when an expression if typed.
Supposing the layer has a field called PH and n attributes:
1. if just PH (so the name of the field) is selected than it is pretty
straightforward:
# self.expBox is the name of the widget
field = self.expBox.currentText()
data = []
for i in vl.getFeatures():
data.append(i[field])
2. if a whatever expression is typed, e.g. PH > 7, than I get some
problem on how I can retrieve the name of the field from the widget.
Knowing the field name it should be something like:
exp = QgsFeatureRequest().setFilterExpression(' PH > 7 ')
request.setSubsetOfAttributes([])
data = []
for f in vl.getFeatures(request):
data.append(f['PH'])
so I don't understand how I can get just the PH string (so the field
name) from the widget in order to put it in the loop and get only the
required attributes .
I hope I have explained my problem...
Thanks to any feedback
Cheers
Matteo
More information about the QGIS-Developer
mailing list