Qt

¿Qué es QT?

Qt es una biblioteca multiplataforma que permite desarrollar interfaces gráficas. Está realizada en el lenguaje de programación C++ y es muy usada para desarrollar el entorno de escritorio KDE.
Aunque los desarrolladores que planeen utilizar estas librerías, no necesariamente deben saber C++ puesto que existen "bindings" para C, Python, Java, Perl, Gambas, Ruby, PHP, Mono, entre otros.

¿Qué me permite hacer?

Recordando, C++ es un lenguaje Orientada a Objetos(o mejor dicho, un híbrido pues no es puramente Orientada a Objetos como Smalltalk).
Por ello, Qt posee una serie de objetos para la creación y manejo de:

  • Interfaces gráficas.
  • ¡También para visualizar gráficos tridimensionales con OpenGL!
  • Base de datos de diversos tipos.
  • Manejo de Sockets TCP y UDP para programas que usan redes.
  • Objetos para leer y escribir ficheros XML.
  • "Estructuras" de datos muy usuales, por ejemplo:
  • Colas(QQueue)
  • Conjuntos(QSet)
  • Listas(QList)
  • Entre otras...

¡Y la lista continúa!

Un Ejemplo: ¡Hola Mundo!

Un ejemplo sencillo para usar Qt en C++.
Para poder compilarlo, deberán instalar las librerías Qt y las utilidades, estos se encuentran en los siguientes paquetes:

  • libqt4-dev
  • qt4-qmake

Opcionalmente pueden instalar el paquete "qt4-doc-html" pues contiene toda la documentación para poder usar las librerías.

Archivo: ejemplo.cpp
Directorio: ejemploQT

#include <iostream>
#include <QApplication>
#include <QMainWindow>
#include <QLabel>

int main(int argc, char **argv){
  int ret;

  QApplication app(argc,argv);
  QMainWindow *mainWindow = new QMainWindow();
  QLabel *lbl = new QLabel(QString("¡Hola Mundo!", mainWindow));
  mainWindow->show();
  ret = app.exec();

  delete(mainWindow);
  delete(lbl);
  return ret;
}

Luego, para compilarlo, sólo deben ejecutar en el directorio "ejemploQT" estos comandos de consola:

  1. qmake -project
  2. qmake
  3. make

Ejécutenlo con "./ejemploQT" desde la consola y verán una ventana con una etiqueta que dice "¡Hola Mundo!".

Links y Referencias

Pueden encontrar más información en: