Introducción a la programación en KDE 4 - Tutorial 1 - Hola Mundo

download Introducción a la programación en KDE 4 - Tutorial 1 - Hola Mundo

If you can't read please download the document

Transcript of Introducción a la programación en KDE 4 - Tutorial 1 - Hola Mundo

Introduccin a la programacin en KDE4 Tutorial 1 - Hola Mundo

Diciembre 17, 2008 por edumardo Enviado en Desarrollo de KDE y Qt Esta serie de tutoriales son una copia de lo ya traducido en TechBase por mi. En dicha pgina puedes encontrar la versin original y la versin traducida al espaol.

Contenido1. 2. 3. 4. Resumen. El cdigo. Compilar la aplicacin Avanzando

ResumenTu primer programa consistir en saludar al mundo con el amigable "Hola Mundo", Para ello, usaremos KMessageBox y personalizaremos uno de los botones.

Consejo: si deseas obtener ms informacin sobre cualquier clase con la que te topes, Konqueror te ofrece un acceso rpido. Por ejemplo, si ests buscando informacin sobre KMessageBox, simplemente teclea "kde:kmessagebox" en la barra de direcciones de Konqueror y ste te llevar a la documentacin. Consejo: quizs quieras usar KDevelop para tus proyectos, ya que ofrece muchas ventajas como completado de cdigo, fcil acceso a la documentacin de la API o soporte para depurar. Lee este tutorial para configurar correctamente KDevelop para esta tarea. Probablemente querrs comprobar si la configuracin es correcta abriendo primero una aplicacin en KDE4 que ya exista. Quizs necesites editar los archivos CMake a mano.

El cdigoTodo el Cdigo Fuente que necesitaremos estar en un solo archivo, que se llamar main.cpp. Crea este archivo con el siguiente cdigo: #include #include

#include #include int main (int argc, char *argv[]) { // Guarda informacion sobre el programa KAboutData aboutData( // Nombre de la aplicacion usado internamente. "tutorial1", // Si el nombre del catalogo es NULL // se usar el nombre interno. 0, // Nombre de la aplicacion. ki18n("Tutorial 1"), // Versin del programa "1.0", // Pequea descripcion de lo que hace el programa. ki18n("Muestra una ventana KMessageBox"), // La licencia del codigo es KAboutData::License_GPL, // Derechos de autor. ki18n("(c) 2008"), // Texto opcional mostrado en "Acerca de" // Puede contener toda la informacion deseada. ki18n("Algun texto..."), // Pagina web del proyecto "http://tutorial.com/", // Direccion de email de reporte de bugs "[email protected]"); KCmdLineArgs::init(argc, argv, &aboutData); KApplication app; KGuiItem yesButton( i18n("Hola Mundo"), QString(), i18n("Esto es un tooltip"), i18n("Esto es el texto de la ayuda Qu es esto?.")); KMessageBox::questionYesNo( 0, i18n("Hola Mundo"), i18n("Hola"), yesButton); return 0; } La primera sentencia especfica de KDE en el programa es KAboutData. KAboutData es la clase que se usa para almacenar la informacin del programa, como una breve descripcin, informacin sobre el autor y licencia, etc. La mayoria de aplicaciones de KDE deberan usar esta clase. Despus viene KCmdLineArgs. Esta es la clase que se podra usar para realizar acciones desde la lnea de ordenes, por ejemplo, abrir el programa con un archivo especfico. Sin embargo, en este tutorial, simplemente la inicializamos con el objeto KAboutData que hemos creado para que podamos usar --version o --author en la lnea de ordenes. Creamos un objeto KApplication. Es imprescindible hacerlo una vez en cada programa, ya que es necesario para cosas como i18n.

Ahora que ya hemos establecido toda la configuracin necesaria para KDE, podemos pasar a hacer cosas interesantes en nuestra aplicacin. Vamos a crear una ventana emergente, y personalizaremos uno de los botones. Para hacer esto, necesitamos usar un objeto KGuiItem. El primer argumento del constructor de KGuiItem es el texto que aparecer en el tem (en nuestro caso, un botn), luego tenemos la opcin de establecer un icono para el botn pero como no queremos uno simplemente llamamos a QString(), establecemos el tooltip (que aparece cuando detienes el cursor sobre un tem), y por ltimo el texto "Qu es esto?" (accesible mediante el botn derecho o Shift+F1). Ahora que tenemos nuestro item, podemos crear la ventana emergente. Llamamos a la funcin KMessageBox::questionYesNo(), la cual por defecto crea un "message box" con los botones "Si" y "No". El segundo argumento es el texto que aparecer en la caja de mensaje encima de los botones. El tercero es el ttulo que tendr la ventana, y por ltimo establecemos en el botn "Si" el KGuiItem que hemos creado (es decir, yesButton). Ten en cuenta que todo el texto visible al usuario se pasa a travs de la funcin i18n(); necesaria para que la UI sea traducida. Puedes encontrar mas informacin sobre la localizacin en el tutorial de localizacin. Hemos hecho todo lo concerniente al cdigo. Es hora de compilarlo y probarlo.

Compilar la aplicacinTienes que usar CMake para construir la apliacin. CMake usar el archivo CMakeLists.txt para generar el Makefile.CMakeLists.txt

Crea un archivo con el nombre CMakeLists.txt en el mismo directorio que main.cpp con este contenido: project (tutorial1) find_package(KDE4 REQUIRED) include (KDE4Defaults) include_directories(${KDE4_INCLUDES}) set(tutorial1_SRCS main.cpp) kde4_add_executable(tutorial1 ${tutorial1_SRCS}) target_link_libraries(tutorial1 ${KDE4_KDEUI_LIBS}) install(TARGETS tutorial1 ${INSTALL_TARGETS_DEFAULT_ARGS}) La funcin find_package() localiza el paquete por el que se est preguntando (en este caso KDE4) y establece algunas variables con la localizacin de los paquetes de cabeceras y bibliotecas. En este caso usaremos la variable KDE4_INCLUDES, que contiene la ruta de los archivos de cabecera de KDE4. A fin de permitir al compilador encontrar esos archivos, pasamos esa variable a la funcin include_directories(), que aade las cabeceras de KDE4 a la ruta de bsqueda de cabeceras. El siguiente paso es crear una variable llamada tutorial1_SRCS mediante la funcin set(). En este caso simplemente debemos poner el nombre de nuestro nico archivo fuente. Luego usamos kde4_add_executable() para crear un ejecutable llamado tutorial1 desde los archivos fuente listados en nuestra variable tutorial1_SRCS. Por ltimo enlazamos nuestro ejecutable con la biblioteca kdeui de KDE4 usando target_link_libraries() y la variable KDE4_KDEUI_LIBS, la cual fue ajustada por la funcin find_package(). La linea que comienza con install establece un destino de instalacin por defecto.Make y Ejecutar

Puedes invocar a CMake y a make manualmente:

mkdir build && cd build cmake .. # Nota: los dos puntos indican el directorio padre, no es una errata! make O si has configurado el entorno tal como est descrito en Getting Started/Build/KDE4, puedes compilar el cdigo con: cmakekde Y ejecutarlo con: ./tutorial1Avanzando

Ahora puedes continuar con el Tutorial 2 - Usar KXmlGuiWindow.