Anda dapat mendefinisikan fungsi yang menambahkan nama file proyek sebagai atribut dan menghubungkan fungsi ini dengan peristiwa yang menambahkan fitur. Anda dapat menggunakan kode berikut, mengubah nama bidang menjadi apa pun yang Anda pilih (saya gunakan Name
) dan menempelkannya ke Konsol Python . Sekarang setiap kali Anda menambahkan fitur baru, bidang tersebut akan diisi dengan nama proyek saat ini:
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)