Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

Configurar componente con GUI

En la entrada anterior explicaba cómo conseguir que una GUI creada con QT Creator se comunicase con nuestro componente, sin embargo dejé pendiente la configuración para que todo eso funcionase.

El primer archivo a modificar es el config.h que se encuentra en micomponenteComp/src/, es un archivo muy simple, y tan sólo tenemos que decomentar la línea en negrita:

#ifndef CONFIG_H
#define CONFIG_H

// Comment out this line if your application has a QtGui
// #define USE_QTGUI

#define PROGRAM_NAME    “Kinect”
#define SERVER_FULL_NAME   “RoboCompKinect::Kinect”
#endif

Con eso le indicamos a la configuración que queremos usar QT para implementar nuestra GUI.

También tenemos que añadir el archivo .h con un include al worker.h, simplemente abrimos el worker.h y escribimos lo siguiente en la cabecera:

#include "nombre_de_mi_GUI.h"

Esto se hace igual que si incluimos cualquier librería, como opencv o iostream

Por último modificaremos el archivo CMakeLists.txt que se encuentra en el mismo directorio que los archivos anteriores. Simplemente añadimos las líneas en negrita, debajo de los respectivos comentarios:

# Graphical User Interfaces
SET (UIS nombre_de_mi_GUI.ui)

# Qt4
QT4_WRAP_UI( UI_HEADERS ${UIS} )

Con esto estaría todo configurado para añadir widgets y conectarlos con nuestro componente, para ello habría que repetir los pasos que se explican en la entrada anterior.

 

Anuncios

29 marzo 2011 - Posted by | all | , ,

2 comentarios »

  1. Hola Leandro;
    Como generas el archivo “nombre_de_mi_GUI.h”. Yo desde el QtDesigner->ViewCode.
    He hecho todos los pasos del tutorial (o al menos eso creo) y tengo problemas con setupUi(this);

    Gracias por tu ayuda. Un saludo

    Comentario por Luismi | 7 junio 2011 | Responder

    • El archivo “nombre_de_mi_GUI.h” se genera automáticamente a partir del archivo .ui cuando compilamos. El problema del setupUi(this); creo recordar que debe estar en un lugar concreto, es decir que no es independiente el orden de las líneas en el constructor.

      Por otro lado, si estás creando un componente nuevo, ahora es todo mucho más fácil, porque la nueva versión del componentGenerator te pregunta si tu componente tendrá interfaz, y en esa caso deja el componente listo para que trabaje con una GUI.

      Comentario por Leandro | 7 junio 2011 | Responder


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: