Proje dosya adını öznitelik olarak ekleyen bir işlev tanımlayabilir ve bu işlevi özellik ekleyen olayla bağlayabilirsiniz. Aşağıdaki kodu kullanabilir, alanın adını istediğiniz gibi değiştirebilirsiniz (kullandım Name
) ve Python Konsoluna yapıştırabilirsiniz . Şimdi her yeni özellik eklediğinizde, alan geçerli proje adıyla doldurulur:
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)