Siguiente Anterior Tabla de contenidos
Las siguiente páginas usaran un lenguaje que es habitual entre desarrolladores de GUIs (Graphical User Interface o Interfaz Gráfico de Usuario), por ejemplo, la palabra widget. Un widget es todo lo que aparece en la pantalla, un botón, una ventana, una barra de desplazamiento, un menu, etc. Como puedes ver algunos widgets contienen otros widgets dentro. Desde el punto de vista de un desarrollador se puede pensar que cada uno de los widgets especializados heredan de una clase base widget que es la clase QWidget.
La disposición (layout) de los widgets es la forma en la que se posicionan los widgets en la pantalla, generalmente se hara de unos respecto a otros, de tal forma que uno estara bajo otro, y/o al lado de otro, etc.
El resto de las palabras necesarias se iran explicando conforma vayan apareciendo.
Estoy usando en estos fuentes (sources) las aplicaciones autoconf/automake para generar los ficheros Makefiles. Hay muchos complejos scripts desarrollados principalmente por Stephan "coolo" Kulow. Esos scripts han sido copiados de los paquetes KDE estandars y modificados un poco para ser usados en este tutorial.
Ejecutando "make -f Makefile.cvs"
generará el script de
configuración configure
y el fichero Makefile.in
en
cada directorio usando el fichero Makefile.am
respectivo.
Para completar la operación, hara falta que los paquetes autoconf y automake
esten instalados en el sistema. En este paso, Stephan hace algo de magia con
los scripts para que automaticamente se generen los Makefiles.in, en vez de tener
que escribir un monton de reglas manualmente. Si usted no tiene automake/autoconf
instalados, no se preocupe, este paso no es necesario para probar el tutorial y puede
simplemente pasar al siguiente párrafo. En cualquier caso, usted necesitará
automake/autoconf una vez que comience a desarrollar su propia aplicación.
Cuando se ejecuta "./configure"
los ficheros Makefile son creados
usando como plantilla (templates) los ficheros Makefile.in que se acaban de generar.
Y por fin se puede ejecutar "make"
para construir los ejecutables.
Como se explicara posteriormente en el tutorial, algunos ficheros deben ser preprocesados por el meta object compiler, moc. Para usar el moc se usa la siguiente definición en el Makefile.am :
METASOURCES = AUTO
Los scripts que generan el fichero final Makefile parsearan esa definicion y se encargaran de generar las reglas necesarias para usar el moc.
El codigo final que procesa el código de meta objetos en el fichero Makefile es algo como lo siguiente:
p3.moc.cpp: $(srcdir)/p3.h $(MOC) $(srcdir)/p3.h -o p3.moc.cpp
De forma similar, en los programas 6, 7 y 8 se necesitara usar un preprocesador para usar el interfaz DCOP para esas aplicaciones. Esto de hara con los siguientes comandos:
dcopidl appIface.h > appIface.kidl dcopidl2cpp --no-stub appIface.kidl
Eso generara un fichero appIface.kidl con una definición xml del interfaz de la aplicación, y un fichero C++ llamado appIface_skel.cpp con el esqueleto del Interfaz preparado para implementarlo. Si se esta habituado a usar CORBA, se encontrara este esquema de los esqueletos y stubs muy familiar, sino no hay de que preocuparse, cuando lleguemos a este punto se explicara todo esto con claridad ;-).
Si este tutorial es util, tras leerlo probablemente comenzara su propia aplicación KDE. Si este es el caso probablemente se encontrara con problemas que no se describen en estas páginas, por eso es por lo que he puesto a continuación algunas notas, direcciones, urls, etc. que pueden ser útiles para conseguir ayuda.
Qt viene con la mejor documentación que he visto nunca. Echale un vistazo siempre que te preguntes qué hace una clase, o cuando quieras saber si ya existe un método para realizar alguna función especial que necesites. Se puede consultar la documentación de Qt online en doc.trolltech.com.
Yo tengo el directorio de la documentación de Qt en el marcador de konqueror, para poder accederla rapidamente cuando la necesito. Otro truco que uso muy a menudo es crear una "acceso rápido de web" para acceder a la documentación de cualquier clase simplemente escribiendo qt:cualquierclase en la barra de dirección de Konqueror (p.ej. "qt:qstring" ). Para hacer eso, abre la sección de "Navegación Mejorada" de la configuración de Konqueror y añade un nuevo "acceso rápido de web". Use file:/home/antonio/kdeCVS/qt-copy/doc/html/\{@}.html como URI de búsqueda y qt como "acceso rápido de URI".
Las librerias de KDE tambien disponen de abundante documentación que se puede cargar desde la Referencia del API de KDE 3.0
Si no deseas descargar un fichero muy grande, siempre se puede generar la documentación a partir del código fuente de kdelibs usando KDoc. KDoc es un generador de documentación a partir de distintivos (tags) especiales en las fuentes que pueden generar la documentación como html, latex, docbook, man, etc.
Para usarlo lo primero es conseguir el paquete kdoc desde el directorio de snapshot de KDE o uno de sus mirrors, o desde la homepage de kdoc en http://www.ph.unimelb.edu.au/~ssk/kde/kdoc.
Los comandos usados para generar la documentación son los dos siguientes:
qt2kdoc -u "http://localhost/~antonio/docs/qt3" -z ~/kdeCVS/qt-copy/html \ -o ~/.kdoc makekdedoc --srcdir ~/kdeCVS/kdelibs/ --outputdir ~/public_html/docs/kde3 \ --url "http://localhost/~antonio/docs/kde3"
Hay que tener en cuenta que yo tengo las fuentes de Qt en $HOME/kdeCVS/qt-copy y las fuentes de KDElibs en $HOME/kdeCVS/kdelibs. Ademas tengo un servidor local de web que usa el directorio $HOME/public_html como su directorio de índice para http://localhost/~antonio . Finalmente, hay un enlace simbolico desde $HOME/public_html/docs/qt3 apuntando al directorio de html de los fuentes de Qt.
Con los anteriores comandos, kdoc genera sobre 11Mbytes de documentación bajo $HOME/public_html/docs/kde3 , a lo que se puede acceder facilmente usando konqueror o kfm llendo a http://localhost/~antonio/docs/kde3/<library>
qt2kdoc es una herramienta que procesa la documentacion de Qt y genera un índice que es usado cuando se generan la documentación de KDE con makekdedoc. De esta forma kdoc puede crear enlaces de hipertexto desde la documentación de KDE a las clases necesarias en la documentación de Qt.
Si quieres unirte a KDE, puedes subscribirte a las listas de correo en las que estes interesado.
Si eres un programador, la que mas interesara será kde-devel@kde.org, si quieres dibujar iconos puedes unirte al equipo de artistas, si quieres ayudar en la traducción, puedes unirte al equipo de traductores, etc.
Si prefieres hablar en español, también serás bienvenido en kde-devel-es@kde.org, mira aquí como suscribirte.
Todas las listas de correo se detallan en www.kde.org/contacts.html, alli aparecen instrucciones sobre como subscribirse.
Además, se puede echar un vistazo a las páginas de developer.kde.org, que tienen una información muy completa para los desarrolladores de KDE, incluyendo manuales, documentación, tutoriales, etc.
Hay también un FAQ para desarrolladores que debería leer en http://developer.kde.org/documentation/other/developer-faq.html.
Quisiera dar un consejo a los que esten buscando un IDE que no tengan que abandonar cuando esten desarrollando una aplicación. KDevelop (que se puede encontrar en www.kdevelop.org) puede ser muy util para desarrollar aplicaciones en KDE.
Kdevelop es un IDE completo para desarrollar aplicaciones (de KDE, Qt o de consola), trae syntax higlighting, editor de dialogos visual, depurador integrado, plantillas para aplicaciones, soporte de CVS integrado, soporte para las traducciones, editor de iconos, acceso rapido a la documentación, generación automática de los ejecutables, y muchas cosas mas.
También Qt/Designer es una aplicación muy útil que simplifica muchísimo la generación de código fuente. Yo lo uso muy a menudo para diseñar las ventanas, widgets y diálogos de mis aplicaciones.
No quisiera acabar esta introducción sin mencionar la guía del interfaz de usuario que se puede encontrar en developer.kde.org.
En las siguientes páginas no seguire esta guía tan cercanamente como deberia en favor de la simplicidad. Supongo que no es necesario decir que todos los desarrolladores de KDE que desarrollen una aplicación real (no un simple tutorial) deberian de leerla completamente y seguirla tanto como les sea posible.
Sin nada mas que añadir, comencemos el tutorial.
Siguiente Anterior Tabla de Contenidos