jueves, 3 de septiembre de 2026

Primera aplicación KDE

Si estás empezando en el desarrollo de aplicaciones para el escritorio KDE Plasma, lo más tentador es instalar un IDE como KDevelop o Qt Creator y usar sus asistentes para generar el código automáticamente.

Pero hay un problema: cuando usas asistentes, te pierdes la parte más importante: entender cómo funciona realmente tu aplicación.
Los IDEs son excelentes herramientas, pero ocultan mucha de la lógica detrás de la compilación, las dependencias y la estructura del proyecto.

Por eso, en este tutorial vamos a hacer las cosas a la antigua usanza: sin IDEs, sin asistentes, sin generar código automáticamente. Solo con tu editor de texto favorito y la terminal.

Crearemos una aplicación de escritorio tradicional para KDE Plasma, un mensaje "Hola Mundo" en una ventana y su barra de menús. Y lo más importante: entenderemos cada línea de código y cada paso del proceso.

Este es el punto de partida perfecto para cualquier desarrollador que quiera iniciarse en el ecosistema KDE. Una vez que domines esto, pasar a un IDE será coser y cantar. ¡Empezamos!



🎯 Objetivo

Crear una aplicación de escritorio tradicional para KDE Plasma que muestre una ventana con el mensaje "Hola Mundo", utilizando exclusivamente un editor de texto (con el que más cómodo estes) y la terminal.



📁 1. Estructura del proyecto

Primero tenemos que crear una carpeta para el proyecto. Dentro de ella, tenemos que crear estos cuatro archivos:


mi_aplicacion/
├── CMakeLists.txt
└── main.cpp

Podemos crear la estructura con los siguientes comandos:


mkdir mi_aplicacion
cd mi_aplicacion
touch CMakeLists.txt main.cpp

Con los archivos ya podemos editarlos para escribir en ellos el código que necesitamos para ejecutar nuestro programa.



📄 2. Código fuente

A. main.cpp (Punto de entrada)


#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    // 1. Crear la aplicación Qt
    QApplication app(argc, argv);

    // 2. Crear una etiqueta con el texto
    QLabel label("¡Infotronikblog, ¡Hola Mundo!");

    // 3. Configurar la etiqueta/ventana
    label.setAlignment(Qt::AlignCenter);  // Centrar el texto
    label.setStyleSheet(
        "font-size: 48px;"
        "font-weight: bold;"
        "color: #2c3e50;"
        "background-color: #ecf0f1;"
        "border: 2px solid #3498db;"
        "border-radius: 10px;"
        "padding: 20px;"
    );
    label.resize(500, 300);    // Tamaño de la ventana
    label.setWindowTitle("Infotronikblog, ¡Hola Mundo!");

    // 4. Mostrar la ventana
    label.show();

    // 5. Iniciar el bucle de eventos de la aplicación
    return app.exec();
}



🔧 3. Archivo de compilación: CMakeLists.txt


# Versión mínima de CMake
cmake_minimum_required(VERSION 3.16)

# Nombre del proyecto
project(holamundo)

# Buscar Qt5 (necesitamos el módulo Widgets)
find_package(Qt5 REQUIRED COMPONENTS Widgets)

# Crear el ejecutable a partir de main.cpp
add_executable(holamundo main.cpp)

# Enlazar con las librerías de Qt5
target_link_libraries(holamundo Qt5::Widgets)



🏗️ 4. Compilar la aplicación

Abre una terminal en la carpeta del proyecto y ejecuta estos comandos:


# 1. Crear una carpeta para los archivos de compilación
mkdir build
cd build

En la carpeta build:


# 2. Configurar el proyecto con CMake
cmake ..


# 3. Compilar
make


# 4. Ejecutar
./holamundo

Salida esperada: Si todo sale bien, (spoiler, no suele pasar) verás una ventana con el mensaje "Infotronikblog, ¡Hola Mundo!" centrado, y con el título "Infotronikblog KDE".




📚 5. Conceptos clave del programa

Concepto Explicación
QApplication Es la clase que gestiona la aplicación en Qt.
Se encarga del bucle principal de eventos, de los recursos y de la configuración global.
Es obligatoria en cualquier programa con interfaz gráfica en Qt.
QWidget Es la clase base para todas las ventanas y widgets. En este caso, la usamos como ventana principal.
QWidget ventana;
QLabel Es un widget que muestra texto o imágenes.
En este caso, lo usamos para mostrar el mensaje "¡Hola Mundo!". También funciona como ventana porque hereda de QWidget.
QLabel *label = new QLabel("");
Qt::AlignCenter Es una constante que indica que el texto debe alinearse al centro, tanto horizontal como verticalmente, dentro del área del widget.
label->setAlignment(Qt::AlignCenter);
setStyleSheet() Permite aplicar estilos CSS a los widgets de Qt.
Con esta función podemos cambiar el color, la fuente, el tamaño, los bordes, el fondo y muchos otros aspectos visuales del widget.
label->setStyleSheet(
        "font-size: 28px;"
        "font-weight: bold;"
        "color: #2c3e50;"
        "background-color: #ecf0f1;"
        "border: 2px solid #3498db;"
        "border-radius: 10px;"
        "padding: 20px;"
        "min-height: 60px;"
    );
setWindowTitle() Define el título que aparecerá en la barra superior de la ventana.
ventana.setWindowTitle("Mi Aplicación con Botón");
resize() Establece el tamaño de la ventana en píxeles.
Los dos parámetros son: ancho y alto.
ventana.resize(400, 250);
show() Hace visible el widget.
Sin esta llamada, la ventana se crearía pero permanecería oculta.
ventana.show();
app.exec() Inicia el bucle de eventos de Qt.
La aplicación se mantendrá ejecutándose hasta que el usuario cierre la ventana. Es el equivalente a "poner la aplicación en marcha".


6. ¿Qué sigue?

Con esta base ya podemos expandir la aplicación ya que disponemos de más widgets que podemos utilizar:

  • Añadir widgets: Botones, cajas de texto, listas, etc.
  • Crear un layout: Organiza varios widgets con QVBoxLayout o QHBoxLayout.
  • Conectar señales y slots: Para que los botones respondan a clics.
  • Añadir un diálogo de preferencias usando KConfigDialog.
  • Guardar configuración usando KConfig para guardar preferencias entre sesiones.

Resumen

Por el momento nos vamos a quedar con lo que hemos aprendido:

  1. Estructura básica de una aplicación KDE (main.cpp, CMakeLists.txt).
  2. Configuración de CMake para encontrar y enlazar Qt5 y KDE Frameworks.
  3. Compilación manual desde la terminal con CMake y Make.

Este es un punto de partida sólido y funcional para empezar a crear tus propias aplicaciones en KDE Plasma.


¡Hasta el próximo programa!, ¡¡¡Saludos!!!


No hay comentarios :