Я хотел бы добавить в поле слоя значение по умолчанию. Я имею в виду, что каждый раз, когда создается новая функция, это поле будет автоматически заполняться значением по умолчанию.
В моем случае значением по умолчанию будет переменная @project_filename (имя файла проекта).
Я не могу найти эту функцию нигде.
С Уважением,
Вы можете определить функцию, которая добавляет имя файла проекта в качестве атрибута, и связать эту функцию с событием, которое добавляет функции. Вы можете использовать следующий код, изменить имя поля на любое другое (я использовал
Name
) и вставить его в консоль Python . Теперь, когда вы добавляете новую функцию, поле будет заполнено именем текущего проекта:источник
featureAdded
срабатывании СИГНАЛА , на самом деле является идентификатором функции. И это все, что вам нужно для звонкаchangeAttributeValue
. Вupdate
функцию вам понадобятся всего две строки (используя имена переменных):idx = layer.fieldNameIndex('Name')
иlayer.changeAttributeValue(featureAdded, idx, project_name)
.