Hi Matthias

Many thanks for this. It's not working for me quite yet:

AttributeError: 'QgsVectorLayer' object has no attribute 'editorWidgetV2ByName'

Python version:
2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]

QGIS version:
2.2.0-Valmiera Valmiera, c3a2817

Any ideas?

Tom


> -----Original Message-----
> From: Matthias Kuhn [mailto:matthias.k...@gmx.ch]
> Sent: 23 June 2014 13:55
> To: Tom Chadwin; qgis-developer@lists.osgeo.org
> Subject: Re: [Qgis-developer] Field visibility in Python
>
> Hi Tom,
>
> The following example should should print the type for all widgets.
> editorWidgetV2ByName( fieldName ) will return "Hidden" for all hidden
> fields, so for checking simply use string comparison.
> editorWidgetV2Config can then be used to access further configuration
> options for the editor widgets (where applicable, "Hidden" has no config
> options)
>
> canvas = qgis.utils.iface.mapCanvas()
> allLayers = canvas.layers()
> for i in allLayers:
>         fields = i.pendingFields()
>         field_names = [field.name() for field in fields]
>         for field in field_names:
>                 print i.editorWidgetV2ByName( field )
>
>
> I hope that answers part of your question.
>
> Best,
> Matthias
>
> On 23.06.2014 14:00, Tom Chadwin wrote:
> > Apologies for cross-post from qgis-user - I thought -developer only dealt
> with QGIS core, rather than also with plugin development.
> >
> > How do I determine in Python whether each field is hidden? I can't get
> editType() to work (and know it is deprecated). Does anyone have an
> example of this using editorWidgetV2Config()? I'm not getting it right:
> >
> > canvas = qgis.utils.iface.mapCanvas()
> > allLayers = canvas.layers()
> > for i in allLayers:
> >         fields = i.pendingFields()
> >         field_names = [field.name() for field in fields]
> >         for field in field_names:
> >                 
> > print(i.editorWidgetV2Config(fields.indexFromName(str(field))))
> >
> > This just gives me lots of {}, suggesting perhaps that I am not setting the
> field index for editorWidgetV2Config() correctly.
> fields.indexFromName(str(field)) works as the *attribute* index for
> attributeDisplayName(), but the docs say
> attributeDisplayName(attributeIndex), while they say
> editorWidgetV2Config(fieldIdx). What's the difference between
> attributeIndex and fieldIdx?
> >
> > Thanks
> >
> > Tom
> >
> >
> > Tom Chadwin, UK National Parks Portal Manager
> > Telephone: 01434 611511 Mob: 07881 109617
> > Web:
> www.northumberlandnationalpark.org.uk<http://www.northumberlandnati
> onalpark.org.uk/>
> >
> > IMPORTANT NOTICE - Disclaimer - This communication is from
> Northumberland National Park Authority (NNPA).The Authority’s head office
> and principal place of business is Eastburn, South Park, Hexham,
> Northumberland, NE46 1BS, United Kingdom. If you are not the intended
> recipient(s) please note that any form of disclosure, distribution, copying or
> use of this communication or the information in it or in any attachments is
> strictly prohibited and may be unlawful. If you have received this
> communication in error, please delete the email and destroy any copies of it.
> Any views or opinions presented are solely those of the author and do not
> necessarily represent those of NNPA.Contractors or potential contractors are
> reminded that a formal Order or Contract is needed for NNPA to be bound
> by any offer or acceptance of terms for the supply of goods or services
> Although this email and any attachments are believed to be free of any virus
> or other defects which might affect any computer or IT system into which
> they are received, no responsibility is accepted by the NNPA for any loss or
> damage arising in any way from the receipt or use thereof. Computer
> systems of this Authority may be monitored and communications carried out
> on them recorded, to secure the effective operation of the system and for
> other lawful purpose.
> > _______________________________________________
> > Qgis-developer mailing list
> > Qgis-developer@lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>



Tom Chadwin, UK National Parks Portal Manager
Telephone: 01434 611511 Mob: 07881 109617
Web: 
www.northumberlandnationalpark.org.uk<http://www.northumberlandnationalpark.org.uk/>

IMPORTANT NOTICE - Disclaimer - This communication is from Northumberland 
National Park Authority (NNPA).The Authority’s head office and principal place 
of business is Eastburn, South Park, Hexham, Northumberland, NE46 1BS, United 
Kingdom. If you are not the intended recipient(s) please note that any form of 
disclosure, distribution, copying or use of this communication or the 
information in it or in any attachments is strictly prohibited and may be 
unlawful. If you have received this communication in error, please delete the 
email and destroy any copies of it. Any views or opinions presented are solely 
those of the author and do not necessarily represent those of NNPA.Contractors 
or potential contractors are reminded that a formal Order or Contract is needed 
for NNPA to be bound by any offer or acceptance of terms for the supply of 
goods or services Although this email and any attachments are believed to be 
free of any virus or other defects which might affect any computer or IT system 
into which they are received, no responsibility is accepted by the NNPA for any 
loss or damage arising in any way from the receipt or use thereof. Computer 
systems of this Authority may be monitored and communications carried out on 
them recorded, to secure the effective operation of the system and for other 
lawful purpose.
_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to