I am trying to change an plugin from QGIS 1.8 to 2.0.
In the 1.8 version I create a table of the field names like this:
layer = vlayer
provider = layer.dataProvider()
feat = QGSFeatrue()
allAttrs = provider.attributeIndexes()
provider.select(allAttrs)
fieldNames = []
while provider.nextFeature(feat)
fields = layer.pendingFields()
for (k, field) in fields.iteritems():
fieldNames.append(field.name())
I tried this for the 2.0 version with
layer = vlayer
fieldNames = []
for feature in layer.getFeatures():
fields = layer.pendingFields()
for (k, field) in fields.iteritems():
fieldNames.append(field.name())
But pendingFields() does not work for me.
Is there now a new method to get the names of the fields?
Best Answer
It is simpler than with version 1.8:
or in one line
an after
Generally to explore a new function, I use the dir() or the see module to examine what's inside:
or
And you can see that there is a field() function so
and a field has a name, a type, a precision,...:
so:
with .dataProvider()
It is .field()
and