Saya ingin menambahkan nilai default pada bidang layer. Maksudku, setiap kali fitur baru dibuat, bidang itu akan secara otomatis diisi dengan nilai default.
Dalam kasus saya, nilai default adalah variabel @project_filename (nama file proyek).
Saya tidak dapat menemukan fungsi ini di mana pun.
Salam,
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:sumber
featureAdded
dipicu, sebenarnya adalah id fitur. Dan itu semua yang Anda butuhkan untuk meneleponchangeAttributeValue
. Ke dalamupdate
fungsi Anda hanya perlu 2 baris (menggunakan nama variabel Anda):idx = layer.fieldNameIndex('Name')
danlayer.changeAttributeValue(featureAdded, idx, project_name)
.