Document not found! Please try again

Guía de programación en kde con la librería Qt usando Qt Designer ...

19 downloads 1408 Views 342KB Size Report
Guía de programación en kde con la librería Qt usando Qt Designer para crear la interface gráfica y el entorno de desarrollo Kdevelop. Paquetes necesarios en ...
Guía de programación en kde con la librería Qt usando Qt Designer para crear  la interface gráfica y el entorno de desarrollo Kdevelop Paquetes necesarios en los sistemas en que las aplicaciones distribuidas lo son en rpm y deb: RMP: qt­designer, qt­3.3.3 y qt­devel DEB: qt3­apps­dev, qt3­assistant, qt3­designer, qt3­dev­tools, qt3­doc El archivo oculto en el directorio home ~/.bashrc debe de incluir la línea:  export QTDIR=/usr/lib/qt3, o la ruta que tenga la librería qt.

Vamos a empezar creando nuestro proyecto y la interface gráfica usando  QtDesigner 1º­. Creación del proyecto 1.1º­. Creamos el proyecto:  Menú File/New y “C++ Project” y damos nombre y ruta del proyecto, en minúsculas. 1.2º­. Creamos la ventana principal de nuestra aplicación: Menú File/New y “Main Window” 1.3º­. Creamos el archivo main de nuestro proyecto: Menú File/New y “C++ Main File”, Ok en ventana siguiente. 2º­. Creación de la interface gráfica 2.1º­. Crear el menú de nuestra aplicación en la ventana principal: Situamos el puntero del ratón en un lugar vacío de nuestra ventana principal de la aplicación  y pulsamos el botón derecho del ratón. Nos aparecerá un menú emergente y haremos clic en la  opción “Add Menu iten”.  Para editar y dar nombre a los menús deberemos hacer dos click sobre dichos menús para ir  editando y añadiendo. Al acabar aparecerán los elementos del menú en la ventana “Action Editor”. 2.2º­. Añadir widgets, en el entorno windows se denominan controles, son botones de  comando, cuadros de texto, botones de radio y acción, etc: Iremos al menú Tools para insertar widgets y después situaremos el puntero del ratón sobre  el widget recién creado y haremos doble click para vers sus propiedades en la ventana situadad a la  derecha. Si hacemos doble click en miembros “Members” podremos añadir a la clase funciones,  señales, etc. 2.3º­. Posicionar los widgets: Seleccionamos los widgets que nos interesen y luego menú Layout/grid u horizontal o  vertical. Al final haremos clik en un sitio vacío de widgets en la ventana principal y Layout/grid 2.4º­. Crear las funciones: Iremos al menú Edit/Slots y aquí crearemos las funciones que responderán a las señales 

generadas por los widgets, en windows los eventos generados por los controles.  Las funciones se añaden a la clase de la ventana principal que se llama igual que el widget  ventana principal pero sin el prefijo frm.  En “type”, tipo de función, seleccionar el tipo de función  a crear: Normal ó función  especial, llamada Slots. Una función Slot es una función para manejar las señales que envía o recibe  un widget. 2.5º­. Crear las conexiones entre las funciones especiales slots recién creadas y las señales: Vamos al menú Edit/Connections y vamos conectando las señales que nos interesen a las  funciones especiales slots. Es muy fácil e intuitivo.

Seguimos desarrollando nuestro proyecto en Kdevelop, el entorno de desarrollo  de KDE 1. En el gestor de ventanas KDE vamos el menú de inicio y seleccionamos Desarrollo/Entorno  de desarrollo/IDE para C/C++. Esto nos abrirá el entorno de desarrollo. 2. Ya en Kdevelop: Menú Proyecto/Nuevo proyecto. 3. Seleccionar C++/QMake project/Aplicación 4. Poner nombre y ruta del proyecto, nombre el de ventana principal pero sin el prefijo frm 5. En la solapa “Gestor de QMake” eliminamos los archivos *.cpp y *.h. 6. Copiamos los archivos *.ui y main.cpp creados en Qt Designer en el subdirectorio src del  proyecto y los añadimos al proyecto con “Gestor de Qmake” 7. Derivar clase inteface para instanciarla e implementar sus métodos: 7.1. Menú Proyecto/Nueva Clase: 7.2. En “Nombre” clase ponemos el nombre de la clase interface pero sin el prefijo frm. 7.3. Botón Añadir y ponemos en “Clase base” el nombre de la clase interface: frmNombre 7.4. Sólo se marca “Usar plantillas de archivos” y aceptar. 7.5. En fichero *.h derivada incluir los includes de los Widgets que usemos: #include     ,por ejemplo para QTextEdit          7.6. En fichero main.cpp se implementa la clase derivada y para llamar a otras interfaces se      llama a sus clases derivadas, nunca a las clases padre interfaces, poner los                  #include  en las cabeceras.          7.7. Copiar las declaraciones de las funciones slots, pero sin la palabra reservada virtual, en la      declaración de la clase deriva.           7.8. Implementar esas funciones en el archivo cpp de la clase derivada. 8. Implementar la clase derivada a través de sus métodos. 9. En kdevelop le damos a menú Construir/Construir proyecto y luego a menú Construir/Ejecutar  programa principal. Y ésto es todo, tan sólo explicar que se derivan clase de las clases interfaces por que cada vez  que se de a construir proyecto en Kdevelop se sobreescriben los archivos *.h y *.cpp de esas  interface y perderíamos todo el trabajo hecho. Derivando esas clases siempre se mantienen a  salvo de modificaciones o destrucciones imprevistas al reconstruir el proyecto y, lo que es más  importante, se puede modificar mil veces la interface sin preocuparnos de perder tiempo o  código.

Notas:

Lo siguiente ya no es necesario para construir nuestros programas en kde usando la librería  Qt junto a Qt Designer y Kdevelop pero se indica por información: 1º­. Compilar una interface gráfica desde la línea de órdenes en vez de usar Kdevelop: uic ­o nombreFormulario.h   nombreFormulario.ui uic ­o nombreFormulario.cpp ­i nombreFormulario.h nombreFormulario.ui moc ­o moc_nombreFormulario.cpp nombreFormulario.h En donde nombreFormulario es el nombre del nuestro. Con ello creamos: El archivo nombreFormulario.h:             para la declaración de la clase. El archivo nombreFormulario.cpp:         para la implementación de la clase. El archivo moc_nombreFormulario.cpp: para implementar el mecanismo de Slots/Signals 2º­. Compilar el proyecto desde la línea de órdenes en vez de usar Kdevelop: Todos los archivos del código fuente, h, cpp, moc.cpp, y pro, en un directorio y teclear: qmake   (Crea el makefile, en el mismo directorio.)  make     (Crea el ejecutable, en el mismo directorio) En el archivo *.pro no hay que añadir nada,dejarlo tal lo saca QT Designer    

Autor: ubaloie  [email protected] http://es.geocities.com/ubaloie

Este documento está sometido a la licencia de creative commons. Es de agradecer que se  comunique al autor el uso de éste documento en otro medio y se debe incluir de forma obligatoria  la autoría.