Esta serie de tutoriales son una copia de lo ya traducido en TechBase por mi. En dicha página puedes encontrar la versión original y la versión traducida al español.
Contenido
- Resumen
- KXmlGuiWindow
- mainwindow.h
- mainwindow.cpp
- Actualizando main.cpp
- CMake
- CMakeLists.txt
- Compilando
- Avanzando
Resumen
Este tutorial continua el camino iniciado por el tutorial Hola Mundo, haciendo una introducción a la clase KXmlGuiWindow.
En el tutorial anterior, el programa mostró una "caja de diálogo" (dialog box), ahora vamos a añadir mas funcionalidad al programa.

KXmlGuiWindow
La clase KXmlGuiWindow proporciona una vista de la ventana principal con una barra de menú, una barra de herramientas, una barra de estado y un área principal en el centro del widget. La mayoría de las aplicaciones de KDE derivarán de esta clase, que proporciona una manera fácil de definir el layout del menú y la barra de herramientas mediante archivos XML (esta tecnología se llama XMLGUI). Si bien no usaremos XMLGUI en este tutorial, lo haremos en el siguiente.
Con el fin de tener un KXmlGuiWindow que pueda usarse, debemos heredar de él. Por lo que creamos dos archivos, mainwindow.cpp y mainwindow.h que contendrán nuestro código.
mainwindow.h
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #include <KXmlGuiWindow>
- #include <KTextEdit>
- class MainWindow : public KXmlGuiWindow
- {
- public:
- private:
- KTextEdit* textArea;
- };
- #endif
Luego declaramos el constructor con MainWindow(QWidget *parent=0);.
Y por último declaramos un puntero al objeto que compondrá la mayor parte de nuestro programa: textArea. KTextEdit es un editor genérico de texto enriquecido con algunas sutilezas de KDE, como ocultación automática del cursor.
mainwindow.cpp
- #include "mainwindow.h"
- {
- textArea = new KTextEdit();
- setCentralWidget(textArea);
- setupGUI();
- }
En la línea 5, inicializamos nuestro editor de texto con un objeto. En la línea 6 usamos la función setCentralWidget() de KXmlGuiWindow para decirle a KXmlGuiWindow que debe aparecer en la sección central de la ventana.
Por último, llamamos a KXmlGuiWindow::setupGUI() que hace un montón de cosas "detrás de la escena" y crea la barra de menú por defecto (Settings, help).
Actualizando main.cpp
Con el fin de ejecutar esta ventana, necesitamos añadir unas pocas lineas a main.cpp:
- #include <KApplication>
- #include <KAboutData>
- #include <KCmdLineArgs>
- #include "mainwindow.h"
- int main (int argc, char *argv[])
- {
- KAboutData aboutData( "tutorial2", 0,
- ki18n("Tutorial 2"), "1.0",
- ki18n("Un area de texto"),
- KAboutData::License_GPL,
- ki18n("Copyright (c) 2007") );
- KCmdLineArgs::init( argc, argv, &aboutData);
- KApplication app;
- MainWindow* window = new MainWindow();
- window->show();
- return app.exec();
- }
CMake
La mejor manera de compilar el programa es usar CMake. Lo único que ha cambiado desde el tutorial 1 es que hemos añadido mainwindow.cpp a la lista de fuentes y hemos cambiado tutorial1 por tutorial2.
CMakeLists.txt
- project (tutorial2)
- find_package(KDE4 REQUIRED)
- include_directories(${KDE4_INCLUDES})
- set(tutorial2_SRCS
- main.cpp
- mainwindow.cpp
- )
- kde4_add_executable(tutorial2 ${tutorial2_SRCS})
- target_link_libraries(tutorial2 ${KDE4_KDEUI_LIBS})
Compilando
Para compilarlo, enlazarlo y ejecutarlo, usa:
- mkdir build && cd build
- cmake ..
- make
- ./tutorial2
Avanzando
Ahora puedes continuar con el Tutorial 3 - Usar KActions.
- Inicie sesión o regístrese para enviar comentarios



Comentarios recientes
hace 1 semana 7 horas
hace 1 semana 3 días
hace 2 semanas 2 días
hace 2 semanas 6 días
hace 3 semanas 2 días
hace 3 semanas 2 días
hace 3 semanas 2 días
hace 3 semanas 3 días
hace 3 semanas 4 días
hace 3 semanas 4 días