Hi layer.attributeList() works for me, I really don't know what goes wrong there for you. But it's a quite silly functions since the attribute indexes were changed to always be sequential. Now it just delivers a list each numbers from 0..count-1. So your enumerate will allways give you [(0,0)..(n-1, n-1)].
That said, what you probably want to use is layer.attributeAliases(). That gives you a mapping of field names to aliases. Or [(idx, layer.attributeAlias(idx)) for idx in range(layer.fields().count())] if you really want to use the field indexes. Best, Matthias On 11/02/2015 02:28 PM, Andrea Peri wrote: > Hi, > > I need to retrieve a list of attribute alias. > To do this, I try this code: > > for lid, orientation in self.templateTable.model().getObjectIter(): > layer = QgsMapLayerRegistry.instance().mapLayer(lid) > for idx, fld in enumerate(layer.attributeList()): > ... > > The qgis report me this error: > > for idx, fld in enumerate(layer.attributeList()): > AttributeError: 'QgsVectorLayer' object has no attribute 'attributeList' > > But I see the AttributeList is available in that clas as reported from the > help. > > http://www.qgis.org/api/classQgsVectorLayer.html#a9fdee4a58551d7e1424c8f66ab6c14a0 > > Perhaps I'm wrong something or the documentation API is obsolete ? > > Thx. > > >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Qgis-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-user
