Hi Tom,

That works starting from 2.3 (master) / 2.4 (release/stable)

For 2.2 you will have to work with

i.editType( fields.indexFromName(field) )

This will continue to work with 2.4 (And it would be nice if you could
test and report in case there's a difference between 2.2 and 2.3 as
there's the last week of bugfixing before the release now).

Best
Matthias

On 23.06.2014 15:39, Tom Chadwin wrote:
> 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


_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to