Повеќе

Додавање вредности на полето на QComboBox во PyQGIS

Додавање вредности на полето на QComboBox во PyQGIS


Имам слој „Градови“. Во слојот има колона наречена „NAME_1“. Мојот GUI има QComboBox во кој сакам да се прикажат вредностите само на колоната „NAME_1“ во паѓачкото поле на комбинираното поле.

Може ли некој да ми помогне во обезбедувањето фрагмент во Пајтон за добивање вредност од одредена колона и прикажување во комбо полето?


Бидејќи не постои прилагоден графички елемент QGIS GUI за тоа (барем не можев да го најдам), може да пробате вакво нешто:

од PyQt4.QtGui увезува QComboBox lyr = iface.activeLayer () idx = lyr.dataProvider (). fieldNameIndex ('NAME_1') uv = lyr.dataProvider (). uniqueValues ​​(idx) cb = QComboBox () cb.addItems

Забележете дека добиваме уникатни вредности на полетоNAME_1, затоа што претпоставувам дека тоа е посакуваното однесување. Во спротивно, на корисниците ќе им покажете список со повторени вредности, што всушност не е идеално заQComboBox.


Вредностите во табелата на атрибути се прикажани во легендата во изгледот со помош на PyQGIS

Во моментов имам скрипта што извршува податоци во рамките на мојата мапа и потоа ги извезува како изглед во композиторот за печатење. На картата, имам легенден клуч што се однесува на податоците на картата. Во рамките на мојата легенда, имам жолт тампон со наслов & # 8216MM1 1.0 тампон & # 8217. Во табелата со атрибути на оваа векторска датотека, имам колона наречена & # 8216LAC_Population_sum & # 8217, со вредност на погодената популација од земјотрес, во таа тампон област. Како и да е, не можам да најдам начин да ја добијам оваа вредност, па затоа е прикажана во мојата легенда за изгледот.

Скриптата што ја користам за да создадам мемориски тампон е:

Табела за мои атрибути за тампон MM1 1.0, со вредност на LAC_Population_sum:

Што моментално покажува мојата легенда:

Мојот код што го создава полето LAC_Population_Sum:

Еден одговор

Можете да креирате категоризиран стил за вашиот слој, така што ќе го имате името на слојот и вредноста на полигонот вака:

Можете да го направите тоа во PyQgis со овој код, само треба да ја промените бојата и непроирноста во првите 2 реда:

Можете исто така да го смените името на слојот за да добиете вакво нешто:


Погледнете го видеото: MENO PRASMĖS IR REIKŠMĖS SU FILOSOFU TOMU KIAUKA. VI dalis