[Qgis-user] Ho retrieve the attributealias list

Matthias Kuhn matthias at opengis.ch
Mon Nov 2 06:28:08 PST 2015


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.
>
>
>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20151102/bf7d6f4c/attachment.sig>


More information about the Qgis-user mailing list