Ich möchte in das Feld einer Ebene einen Standardwert einfügen. Ich meine, jedes Mal, wenn ein neues Feature erstellt wird, wird dieses Feld automatisch mit dem Standardwert gefüllt.
In meinem Fall wäre der Standardwert die Variable @project_filename (Dateiname des Projekts).
Ich kann diese Funktionalität nirgendwo finden.
Grüße,
Sie können eine Funktion definieren, die den Projektdateinamen als Attribut hinzufügt, und diese Funktion mit dem Ereignis verbinden, das Features hinzufügt. Sie können den folgenden Code verwenden, den Namen des Felds in den von Ihnen gewählten Namen ändern (ich habe ihn verwendet
Name
) und ihn in die Python-Konsole einfügen . Wenn Sie jetzt ein neues Feature hinzufügen, wird das Feld mit dem aktuellen Projektnamen gefüllt:quelle
featureAdded
ausgelöst wird, ist eigentlich eine Feature-ID. Und das ist alles, was Sie brauchen, um anzurufenchangeAttributeValue
. Für dieupdate
Funktion benötigen Sie nur 2 Zeilen (unter Verwendung Ihrer Variablennamen):idx = layer.fieldNameIndex('Name')
undlayer.changeAttributeValue(featureAdded, idx, project_name)
.