Cómo crear formularios para QGIS con Qt Designer

form design

Un formulario consta de un conjunto de campos de datos solicitados por un software, que se almacenan para su posterior uso y procesamiento. Cada uno de esos campos almacena un dato específico.

Una herramienta que nos proporciona QGIS, y que quizá mucha gente desconoce, es la posibilidad de incorporar formularios personalizados para la entrada de datos, encargándose de ajustar todos los campos y guardar los nuevos valores en la capa.

QGIS form

Estos formularios que consume QGIS podemos crearlos con QT Designer.

En el presente post vamos a mostrarte cómo crear un formulario con la herramienta QT Designer y cómo asociarlos a una capa en QGIS a través de sus propiedades.

Qué es QT Designer

QT Designer es un programa que permite desarrollar interfaces gráficas de usuario (GUI). Permitiéndonos componer y personalizar las ventanas o cuadros de diálogo para su empleo en QGIS (por ejemplo).

logo qt

Qt se encuentra disponible para sistemas tipo unix (Linux, BSDs, Unix), Para Apple Mac OS X y Windows.

Qt cuenta en la actualidad con un sistema de triple licencia: GPL v2/v3 para el desarrollo de software de código abierto y software libre, la licencia QPL para el desarrollo de aplicaciones comerciales, y la licencia LGPL gratuita.

Creación de un formulario personalizado con Qt Designer

Para crear un formulario personalizado es necesario tener instalado en tu pc Qt Designer (con el instalador propio de QGIS se instala de forma automática). Para acceder a esta herramienta, basta con que en el buscador de Windows digitalizases Qt Designer….

Todas las propiedades establecidas en Qt Designer se pueden cambiar de forma dinámica dentro del código.

QT Designer Win

Una vez que Qt Designer haya arrancado selecciona Dialog with Buttons Bottom (Diálogo con botones inferiores) y haz clic en Crear.

nuevo formulario

Aparecerá en pantalla una ventana titulada Dialog – untitled, formulario básico y por defecto que comenzaremos a configurar y dar forma a continuación.

El aspecto de la interfaz será similar a la siguiente:

interfaz QT Designer

Podemos crear un formulario sencillo que nos solicite los siguientes campos:

  • ID
  • NOMBRE
  • EDAD

Para ello inserta en el formulario tres labels (Display Widgets).

label

Para ello haz clic sostenido sobre ellas y arrástralos a la posición deseada dentro del formulario.

Incluye ahora dos Line Edit al formulario que serán aquellas que contengan los datos para los campos ID y NOMBRE.

line edit

Incluye, por último, un Spin Box.

Puedes modificar la propiedad objetctName tanto de los Line Edit como SpinBox con su respectivo nombre.

Por otro lado, en la propiedad QLabel, en el apartado Text, puedes modificar el texto de las etiquetas creadas.

spinbox

El resultado es un formulario similar al siguiente:

formulario QGIS

Recuerda guardar el formulario una vez hayas finalizado de configurarlo.

Vinculando el formulario a una capa en QGIS

Una vez tenemos nuestro formulario listo, debemos de crear una capa en QGIS que tenga los mismos campos que hemos definido en el formulario. También es importante que tengamos el tipo de datos que se van a introducir (cadena de texto, número, fecha, etc…).

Accede a las propiedades de la capa y, en la pestaña Formulario de atributos, en el desplegable de la parte superior selecciona Proporcionar archivo ui.

archivo ui

En la ventana aparecerá una nueva sección denominada Editar UI, haz clic en el buscador y selecciona el formulario creado anteriormente.

edit form

En la pestaña Formulario de atributos, puedes establecer reglas para la introducción de datos para cada campo en la sección Controles disponibles.. Por ejemplo, que en el campo EDAD solo acepte un valor que esté en un rango determinado min/max, que el campo NOMBRE no pueda ser nulo, etc…

Haz clic en Aceptar en el diálogo de propiedades de la capa.

Para comenzar a introducir datos en nuestra capa, debes iniciar ahora una sesión de edición y digitalizar una geometría para comprobar que aparece el formulario creado.

Los valores introducidos se guardarán en la tabla de atributos de nuestra capa.

insertar varlores formulario

Si quieres aprender a crear formularios o tienes dudas de cómo trabajar con ellos inscríbete ya en nuestro curso online de QGIS avanzado. ¡Las plazas son limitadas!

Let’s connect!

Date de alta en nuestro newsletter
y recibe este ebook gratuito

Y una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos

6 comentarios en “Cómo crear formularios para QGIS con Qt Designer”

  1. Hola Diego: tengo una duda sobre el formulario. Si creamos un campo que sea combo box, y le metemos varias opciones, al vincularlo a QGIS en el formulario se ven dichas opciones, pero no las graba en la tabla. Solo he podido grabar cuando dichas opciones se introducen desde propiedades capa>formularios>mapa de valores y de ahí introducir a mano o importando un csv. Hay alguna opción para que esto se pueda hacer desde QT designer?

Deja un comentario