Me gustaría agregar en el campo de una capa un valor predeterminado. Quiero decir, cada vez que se crea una nueva característica, ese campo se rellena automáticamente con el valor predeterminado.
En mi caso, el valor predeterminado sería la variable @project_filename (nombre del archivo del proyecto).
No puedo encontrar esta funcionalidad en ningún lado.
Saludos,
Puede definir una función que agregue el nombre de archivo del proyecto como un atributo y conectar esta función con el evento que agrega características. Puede usar el siguiente código, cambiar el nombre del campo a lo que elija (lo usé
Name
) y pegarlo en la Consola Python . Ahora, cada vez que agregue una nueva función, el campo se completará con el nombre del proyecto actual:fuente
featureAdded
se activa la SEÑAL es en realidad una identificación de característica. Y eso es todo lo que necesitas para llamarchangeAttributeValue
. En laupdate
función solo necesitarías 2 líneas (usando tus nombres de variables):idx = layer.fieldNameIndex('Name')
ylayer.changeAttributeValue(featureAdded, idx, project_name)
.