Chciałbym dodać w polu warstwy wartość domyślną. Mam na myśli to, że za każdym razem, gdy tworzona jest nowa funkcja, pole to byłoby automatycznie wypełniane wartością domyślną.
W moim przypadku wartością domyślną byłaby zmienna @ nazwa_pliku projektu (nazwa pliku projektu).
Nigdzie nie mogę znaleźć tej funkcji.
Pozdrowienia,
Możesz zdefiniować funkcję, która dodaje nazwę projektu jako atrybut i połączyć tę funkcję ze zdarzeniem, które dodaje funkcje. Możesz użyć następującego kodu, zmienić nazwę pola na dowolnie wybrane (użyłem
Name
) i wkleić je do konsoli Python . Teraz za każdym razem, gdy dodasz nową funkcję, w polu pojawi się nazwa bieżącego projektu:źródło
featureAdded
, to tak naprawdę identyfikator funkcji. I to wszystko, czego potrzebujesz do dzwonieniachangeAttributeValue
. Doupdate
funkcji potrzebujesz tylko 2 linii (używając nazw zmiennych):idx = layer.fieldNameIndex('Name')
ilayer.changeAttributeValue(featureAdded, idx, project_name)
.