Puede definir una función que se añade el proyecto de nombre de archivo como un atributo y conectar esta función con el evento que añade características. Usted puede utilizar el código siguiente, cambie el nombre del campo para cualquiera que sea tu elección (yo usé Name
) y pegarlo en la Consola de Python. Ahora cada vez que se agrega una nueva característica, el campo se rellena con el actual nombre del proyecto:
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)