lt.geologyidea.com
Daugiau

Gaunamas QGIS laukų pavadinimų sąrašas, neįtraukiant paslėptų laukų naudojant „PyQGIS“

Gaunamas QGIS laukų pavadinimų sąrašas, neįtraukiant paslėptų laukų naudojant „PyQGIS“


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.


Šiuo metu, naudojant „python“ papildinį, skirtą QGIS 2.8.3, aš gaunu sluoksnio laukų sąrašą, naudojant pendingFields, kaip minėta šioje temoje:

laukai = self.layer.pendingFields ()

Dabar turiu kelis paslėptus laukus (nustatytus per sluoksnių ypatybių laukų skirtuką). Kaip gauti neslėptų laukų sąrašą?

Matau galimybę gauti redagavimo tipą, bet nežinau, kur kreiptis:

EditType {LineEdit, UniqueValues, UniqueValuesEditable, ValueMap, Classification, EditRange, SliderRange, CheckBox, FileName, Enumeration, Immutable, Hidden, TextEdit, Calendar, DialRange, ValueRelation, UuidGenerator, Photo, WebViewV, Color2, EditorWW

Vektorinio sluoksnio objektas turi editorWidgetV2ByName metodas, leidžiantis įvesti lauko pavadinimą ir atgauti redagavimo valdiklio pavadinimą kaip eilutę. Pavyzdžiui:

>>> layer.editorWidgetV2ByName ("lauko pavadinimas") 'Paslėptas'

Pakaitomis yraeditorWidgetV2metodas, leidžiantis įvesti lauko indeksą:

>>> layer.editorWidgetV2 (0) „Paslėptas“

Įvairių valdiklių pavadinimų sąrašą galima rasti kartu su dokumentacija setEditorWidgetV2, kuris, beje, gali būti naudojamas valdikliui nustatyti lauke, atsižvelgiant į indeksą, taip:

>>> layer.setEditorWidgetV2 (0, "Paslėptas")

Taigi, norėdami gauti neslėptų laukų sąrašą, galite naudoti šį fragmentą:

laukai = [lauko laukas sluoksnyje.pendingFields (), jei layer.editorWidgetV2ByName (laukas.pavadinimas ()! = "Paslėptas")]

Žiūrėti video įrašą: add Google Map Terrain Satellite Layer in QGIS