Saltar a contenido

Formulario de atributos

QField crea formularios similares a los de QGIS, pero con algunas diferencias. Los widgets de campo de QGIS son compatibles en la medida de lo posible y están optimizados para su uso en dispositivos móviles.

Tipo de control Soporte Notas
Edición de texto - No se admite HTML.
- La entrada numérica se aplica en función del tipo de campo.
Casilla de verificación
Mapa de valores
Oculto
Adjunto Este campo se combina con la integración de la cámara.
También puede abrir otros archivos como PDF y DOC (si dispone del visor adecuado) Adjunto (configuración de fotos)
Fecha Hora
Rango
Referencia de relación
Control de relaciones
Relación de valores
Generador de UUID
Control QML / HTML
Otros Financiación

Configuración del formulario de atributos

Para personalizar el formulario de atributos, es necesario usar el diseñador de arrastrar y soltar de QGIS o un archivo de interfaz de usuario predefinido. Al igual que en QGIS, se pueden usar expresiones potentes para rellenar los diferentes campos. Además de las variables disponibles, existen variables específicas de QFieldCloud, que pueden utilizarse dentro del formulario de atributos.

Editable

Se respeta la propiedad editable de los campos.

Recordar últimos valores

QField ofrece un control más preciso sobre los últimos valores utilizados que QGIS y utiliza su propia configuración en lugar de la de QGIS.

Suprimir formulario de atributos

La configuración suprimir formulario de atributos se aplica directamente al formulario QField.

Formularios del diseñador de arrastrar y soltar

Los grupos y pestañas de los formularios del diseñador de arrastrar y soltar son compatibles.

En el "Formulario de atributos", puede estructurar sus formularios utilizando diversos contenedores, como pestañas y grupos, y mejorar la interactividad incorporando visibilidad condicional basada en expresiones. Al habilitar el Diseñador de arrastrar y soltar, obtienes la flexibilidad de reordenar los campos de atributos, así como acceso a widgets que no están directamente vinculados a campos específicos (por ejemplo, widgets HTML/QML) .

Configurar un control de relaciones

Preparación en escritorio

Para obtener información detallada sobre cómo configurar relaciones entre capas en QGIS, consulte la documentación de QGIS sobre configuración de relaciones entre varias capas. Para controlar aún más la visibilidad y el número de elementos relacionados que se muestran en QField, consulte las instrucciones para configurar la visibilidad máxima de elementos para QField.

El widget de relación muestra todas las características secundarias de referencia en una lista. Si está habilitado, es posible añadirlas, eliminarlas y abrirlas.

La identificación visual de las entradas de la lista se realiza a través de la Expresión de visualización de la capa secundaria.

Manejo de claves

Dado que la clave principal se utiliza como clave externa en las características secundarias de referencia, debe ser segura (debe ser única) incluso después de la sincronización con el escritorio. Por lo tanto, se recomienda usar UUID para las claves principales. Consulte [Trabajar con Geopackages](../get-started/tutorials/advanced-setup-qfc/#working-with-geopackages para obtener más información.

Es posible añadir hijos de un padre que se va a añadir. Esta posibilidad se bloqueará si no hay una clave primaria válida en el padre o si se infringen las restricciones. Si se cancela la función de añadir el padre después de añadir algunos hijos, estos también se eliminarán.

Relaciones Muchos-a-Muchos

En las relaciones muchos a muchos, según la configuración de cardinalidad en las Propiedades de la capa vectorial de QGIS, al añadir, eliminar o abrir una entrada en la lista se afecta directamente a la capa secundaria (en la cardinalidad directa) o a la tabla de enlace (en la cardinalidad muchos a uno).

El segundo caso se usa habitualmente cuando hay una información adicional sobre la relación (ej. porcentaje) en la tabla enlazada.

En caso de cardinalidad muchos a uno en relaciones muchos a muchos, es necesario establecer la Expresión de visualización en la tabla de enlace.

Configuración de relaciones ordenadas para QGIS y QField

El widget Editor de relaciones ordenadas permite reordenar las características secundarias vinculadas en función de un campo específico.

1. Instalar el complemento

Asegúrese de haber instalado el complemento Editor de relaciones ordenadas desde el repositorio oficial o a través del "Administrador de complementos" en QGIS.

2. Configure el diseño

Vaya a la sección Formulario de atributos de la configuración de su capa y establezca el editor de diseño en Diseñador arrastre y suelte.

3. Configurar el widget del editor de relaciones

En el menú desplegable Tipo de widget Relación, seleccione Editor de relaciones ordenadas. A continuación, configure el widget con los siguientes ajustes:

  • Campo de ordenación: Especifique el campo de la capa secundaria que se utilizará para determinar el orden de las características.

  • Descripción: Defina una expresión que se mostrará para cada elemento secundario de la lista.

  • Ruta de la imagen (opcional): Proporcione una ruta a una imagen o icono para mejorar visualmente la lista. Se trata de una expresión que se resuelve dinámicamente.

Configuración de widgets en QGIS
Configuración de widgets en QGIS

QField
QField

Configuración de un umbral de elementos para los widgets del editor de mapas de valores

Para mejorar la experiencia del usuario en QField, es posible controlar el umbral de elementos en el que los widgets del editor del mapa de valores cambian a una interfaz de botones de alternancia. Esta prestación permite a los usuarios acceder rápidamente a los elementos de QField cuando hay pocos y proporciona una interfaz más intuitiva cuando se trata de un gran número de elementos.

Para activar la interfaz del botón de alternancia:

  1. Abre Propiedades de capa haciendo clic con el botón derecho del ratón en la capa deseada y seleccionando 'Propiedades' en el menú.

  2. Navegue hasta la pestaña QField situada dentro del cuadro de diálogo Propiedades de capa.

  3. Aquí encontrará una opción para especificar la cantidad de elementos que activarán la transición a una interfaz de botón de alternancia. Introduzca el valor de umbral preferido según sus necesidades.

QFieldSync Layer Properties
QFieldSync Layer Properties

QField Value Map Editor as List
QField Value Map Editor as List

QField Value Map Editor as Buttons
QField Value Map Editor as Buttons

Configuración del widget de archivos adjuntos

Preparación en escritorio

El tipo de widget Archivo adjunto se utiliza con campos que almacenan la ruta de acceso a los archivos.

Se puede usar para:

  • mostrar y hacer fotos o añadir fotos desde la galería
  • escuchar y grabar clips de sonido
  • mostrar y grabar vídeos
  • mostrar enlaces a archivos externos, como PDF o documentos

Imagen adjunta al formulario
Imagen adjunta al formulario

Formulario de audio adjunto
Formulario de audio adjunto

Vídeo de adjuntos de formularios
Vídeo de adjuntos de formularios

La ruta debe establecerse como relativa. Las imágenes, audios, vídeos, archivos PDF y documentos se almacenan en un subdirectorio del proyecto, al que apunta el enlace almacenado en el campo de texto.

Nota

QGIS 3.30 o más reciente es necesario para la funcionalidad de audio y vídeo

En QField se muestran los archivos adjuntos. Al hacer clic en el símbolo de los iconos, se inicia la cámara o la grabación de audio para actualizar las imágenes, los vídeos o los audios con un nuevo medio.

Media
Media

Al sincronizar, también hay que copiar el subdirectorio con las imágenes, vídeos, audios, archivos PDF y documentos.

La opción hipervínculo del widget de adjuntar archivos desactivará la función de la cámara y habilitará un hipervínculo para abrir un documento (pdf, doc, ...).

Ruta de adjuntos configurable

Preparación en escritorio

QFieldSync ofrece la posibilidad de configurar la ruta de los archivos adjuntos.

  • Vaya al complemento QFieldSync > Propiedades de las capas.

Utilice expresiones para especificar la ruta de los archivos adjuntos. Por defecto, las imágenes se guardan en la carpeta "DCIM", las grabaciones de audio en la carpeta "audio" y los vídeos en "vídeo" con una marca de tiempo como nombre.

Rutas
Rutas

Configurar un control de relación de valores

Preparación en escritorio

El control Relación de valores ofrece valores de una tabla relacionada en un cuadro combinado. Puede seleccionar capa, columna clave y columna de valor. Hay disponibles varias opciones para cambiar los comportamientos estándar: permitir valor nulo, ordenar por valor y permitir selecciones múltiples. El control mostrará una lista desplegable o de selección múltiple de los objetos referenciados.

Valores de grupo en el widget de relación de valores

Puede organizar y optimizar la apariencia de sus widgets de relación de valores agrupando los elementos relacionados. Esta función le permite categorizar los valores en una lista desplegable o en una vista de tabla según el contenido de una columna seleccionada.

Por ejemplo, si tienes una lista de ciudades, puedes agruparlas por sus respectivos estados. Esto facilita a los usuarios la navegación y la búsqueda de los valores que necesitan, especialmente en listas con un gran número de elementos.

Configuración

La agrupación se configura en los ajustes del widget Relación de valores utilizando las siguientes opciones:

  • Columna de grupo: Elija la columna de la capa que se utilizará para organizar los elementos. Los valores de esta columna actuarán como título del grupo.
  • Mostrar nombre del grupo: Marque esta casilla para mostrar el título del grupo como un encabezado diferenciado dentro del widget. Esto crea una separación clara entre los diferentes grupos, lo que facilita la navegación por la lista.

Primera configuración
Primera configuración

Segunda configuración
Segunda configuración

Tercera configuración
Tercera configuración

Diferentes configuraciones en QField
Diferentes configuraciones en QField

Configurar la visibilidad condicional

Preparación en escritorio

Los grupos se pueden ocultar en función de una expresión. Esto resulta útil cuando ciertos atributos solo son necesarios en determinadas condiciones. Como ejemplo, imagina que estás mapeando árboles. Algunos de ellos pueden tener una enfermedad y tú tienes una lista de posibles enfermedades. Para no saturar el formulario con muchos campos, crea un grupo y configura una expresión de visibilidad para el grupo "enfermedades". Añade un campo "enfermedad" con el tipo de datos booleano. Solo cuando se marque la casilla de verificación, la lista de enfermedades estará disponible.

Configuración de un cuadro de grupo que solo se mostrará si se marca la casilla "enfermedad".
Configuración de un cuadro de grupo que solo se mostrará si se marca la casilla "enfermedad".

En QField se verá como en el vídeo que aparece a continuación.

Definir Restricciones

Preparación en escritorio

Los campos de atributos pueden tener restricciones asociadas. Las restricciones son reglas en forma de expresiones. Antes de poder guardar una característica, deben cumplirse todas las restricciones. Se puede añadir una descripción que se mostrará si no se cumple una restricción.

Configuración de una restricción dentro de un rango
Configuración de una restricción dentro de un rango

Casos de uso común

No puede introducir un valor de elevación superior a la montaña más alta de este país.

"elevation" < 5000

Es requerido rellenar un identificador.

"identificador" IS NOT NULL

Definir Valores Predeterminados

Preparación en escritorio

Los campos pueden tener valores predeterminados configurados. Los valores predeterminados se insertan en el formulario de atributos al digitalizar una nueva característica. Son visibles y se pueden modificar siempre que el campo sea editable.

Configuración de una fecha formateada como valor predeterminado
Configuración de una fecha formateada como valor predeterminado

Trabajar con expresiones

Al crear expresiones para proyectos destinados a ser utilizados con QField, se recomienda utilizar nombres de capas en lugar de ID de capas. Esta recomendación se debe a que, durante el proceso de conversión del proyecto a través de QFieldSync, las capas resultantes pueden recibir ID diferentes, lo que puede dar lugar a evaluaciones incorrectas de las expresiones. Al utilizar nombres de capas, se garantiza que las expresiones se evalúen de forma coherente y precisa en los diferentes estados del proyecto.

Uso de nombres de capa en expresiones
Uso de nombres de capa en expresiones

Variables adicionales

Para obtener más información sobre el almacenamiento de información relacionada con su posición en atributos de objeto, consulte la deticada Documentación GNSS.

Para los usuarios de QFieldCloud, se pueden utilizar dos variables en las expresiones que incluyen los valores predeterminados de los formularios de atributos: - @cloud_username que devuelve el nombre del usuario actualmente conectado a QFieldCloud. - @cloud_useremail que devuelve la dirección de correo electrónico del usuario actualmente conectado a QFieldCloud.

Casos de uso común

Insertar información de posicionamiento como variable:

@position_horizontal_accuracy

Insertar la fecha y hora actuales:

now()

Insertar la longitud de la línea digitalizada:

length($geometry)

Configurar las variables globales en el dispositivo e insertarlas:

@nombre_operador

Si quiere asignar un código de región basado en la localización donde se inserta un objeto nuevo, puede hacerlo usando una expresión de agregación:

aggregate( layer:='regions', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )

Para transformar las coordenadas recibidas de \@position_coordinate al sistema de coordenadas de su proyecto:

x(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
y(transform(@position_coordinate, 'EPSG:4326', @project_crs ))

::: {#snapping_results} Si desea utilizar los resultados del ajuste después de dibujar una línea, puede utilizar la variable [@snapping_results]{.title-ref}. El siguiente código extrae el valor del atributo [id]{.title-ref} de la coincidencia de ajuste del primer punto de una línea. :::

with_variable(
  'first_snapped_point',
  array_first( @snapping_results ),
  attribute(
    get_feature_by_id(
      @first_snapped_point['layer'],
      @first_snapped_point['feature_id']
    ),
    'id'
  )
)

Búsqueda en controles de relación de valores y de referencia de la relación

Es posible buscar valores en un widget de relación de valores o referencia de relación utilizando la lupa situada junto al campo.

Nota

Defina la expresión de visualización para las capas en cuestión, esto se utilizará para buscar características. Esto se configura en Propiedades de las capas vectoriales > Visualización.

Configurar el valor de autocompletar

Preparación en escritorio

La casilla "Utilizar completador" debe estar marcada para poder utilizar el autocompletado en la relación de valores.

Habilitar autocompletar en QGIS
Habilitar autocompletar en QGIS

Aquí tienes un vídeo que muestra cómo funciona en QField

Definir controles QML

Los controles QML personalizados pueden ser útiles para integrar acciones avanzadas en los formularios. En este ejemplo definimos añadir un botón que abra una aplicación de mapas y navegación de terceros. Esto es útil para abrir, por ejemplo, navegaciones giro a giro en la aplicación nativa del dispositivo para el usuario.

import QtQuick 2.0
import QtQuick.Controls 2.0

Button {
    width: 200
    height: width/5
    text: "Open in Maps"
    onClicked: {
        Qt.openUrlExternally(expression.evaluate("'geo:0,0?q=' || $y || ',' || $x"));
    }
}

El URI geo anterior está adaptado para funcionar con Android. Para Apple Maps el URI se puede cambiar a 'geo:' || $y || ',' || $x.