Ви можете визначити функцію, яка додає ім'я файлу проекту як атрибут та з'єднати цю функцію з подією, яка додає функції. Ви можете використовувати наступний код, змінити ім'я поля на те, що ви вибрали (я використав Name
) та вставити його в консоль Python . Тепер, коли ви додаєте нову функцію, поле буде заповнене поточною назвою проекту:
import os
# Get project name
project = QgsProject.instance()
project_name = os.path.basename(project.fileName())
# Set active layer
layer = qgis.utils.iface.activeLayer()
# Define function to select added feature and add attribute to field "Name"
def update(featureAdded):
idx = layer.fieldNameIndex('Name')
layer.changeAttributeValue(featureAdded, idx, project_name)
# Connect "featureAdded" event to "select" function
layer.featureAdded.connect(update)