Qt (biblioteca)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Qt
Qt Designer
Qt Designer usado para el diseño del GUI.
Desarrollador
Nokia (Qt Development Frameworks)
qt.nokia.com
Información general
Lanzamiento inicial 1992
Última versión estable 4.8.0[1] [2]
15 de diciembre de 2011; hace 2 meses (2011-12-15)
Género Biblioteca de desarrollo
Programado en C++
Plataforma Multiplataforma
Licencia GNU LGPL 2.1
GNU GPL 2 & 3
Propietaria[3]
Idiomas Multilingüe
En español Sí 

Qt es una biblioteca multiplataforma ampliamente usada para desarrollar aplicaciones con una interfaz gráfica de usuario así como también para el desarrollo de programas sin interfaz gráfica como herramientas para la línea de comandos y consolas para servidores.

Qt es utilizada en KDE, un entorno de escritorio para sistemas como GNU/Linux o FreeBSD, entre otros. Qt utiliza el lenguaje de programación C++ de forma nativa, adicionalmente puede ser utilizado en varios otros lenguajes de programación a través de bindings. También es usada en sistemas informáticos empotrados para automoción, aeronavegación y aparatos domésticos como frigoríficos.[4]

Funciona en todas las principales plataformas, y tiene un amplio apoyo. El API de la biblioteca cuenta con métodos para acceder a bases de datos mediante SQL, así como uso de XML, gestión de hilos, soporte de red, una API multiplataforma unificada para la manipulación de archivos y una multitud de otros para el manejo de ficheros, además de estructuras de datos tradicionales.

Distribuida bajo los términos de GNU Lesser General Public License (y otras), Qt es software libre y de código abierto.

Es producido por la división de software Qt de Nokia, que entró en vigor después de la adquisición por parte de Nokia de la empresa noruega Trolltech, el productor original de Qt, el 17 de junio de 2008.[5] Nokia anuncio que va a detener sus desarrollos en Symbian para usar la plataforma de Microsoft para sus telefonos inteligentes en Febrero de 2011. En marzo del mismo año, anunciaron la adquisición de las licencias comerciales de Qt por Digia PLC, aunque Nokia continúa como la fuerza de desarrollo principal detrás de la librería.

Qt es utilizada principalmente en Autodesk Maya,[6] [7] Dassault DraftSight,[8] [9] Google Earth, KDE, Adobe Photoshop Album, la Agencia Espacial Europea,[10] Opie, Siemens,[11] Volvo,[12] Walt Disney Animation Studios,[13] Skype, Qt Extended, VLC media player, Samsung,[14] Philips,[15] Panasonic,[16] VirtualBox y Mathematica.[17]

Contenido

[editar] Historia

Fue desarrollado inicialmente por Haavard Nord (CEO de Trolltech) y Eirik Chambe-Eng (presidente de Trolltech). Haavard y Eirik se reunieron en el Instituto Noruego de Tecnología de Trondheim, donde ambos se graduaron con una maestríaen ciencias de la computación. El kit de herramientas se llamó Qt porque la letra Q lucía atractiva en la fuente Emacs la cual era muy usada por Haavard en su trabajo, y "t" se inspiró en Xt, el kit de herramientas X "X Tool kit" [18] .

Inicialmente Qt apareció como biblioteca desarrollada por Trolltech (en aquel momento «Quasar Technologies») en 1992 siguiendo un desarrollo basado en el código abierto, pero no completamente libre. Originalmente permitía desarrollo de software cerrado mediante la compra de una licencia comercial, o el desarrollo de software libre usando la licencia Free Qt. Esta última no era una licencia real de software libre dado que no permitía redistribuir versiones modificadas de Qt.

Se usó activamente en el desarrollo del escritorio KDE (entre 1996 y 1998), con un notable éxito y rápida expansión, camino de convertirse en uno de los escritorios más populares de GNU/Linux.

Este hecho causaba preocupación desde el proyecto GNU, ya que veían como una amenaza para el software libre que uno de los escritorios libres más usados se apoyase en software propietario. Para contrarrestar esta situación se plantearon dos ambiciosas iniciativas: por un lado el equipo de GNU en 1997 inició el desarrollo del entorno de escritorio GNOME con GTK+ para GNU/Linux. Por otro lado se intentó hacer una biblioteca compatible con Qt pero totalmente libre, llamada Harmony.

En 1998 desarrolladores de KDE se reunieron con Trolltech para establecer la KDE Free Qt Foundation, que establecía que si Trolltech dejaba de desarrollar la versión gratuita y semi-libre de Qt la propia Fundación podría liberar la última versión publicada de la biblioteca Qt bajo una licencia tipo BSD[19]

Con la versión 2.0 se cambió a la licencia Q Public License, considerada de código abierto. Este cambio pretendía acallar las críticas a Qt y KDE que alegaban que no era software libre. Sin embargo, QPL no era compatible con la licencia GPL que usaba KDE, por lo que hubo voces que afirmaban que se estaba violando la licencia GPL al mezclar software QPL (la biblioteca Qt) con software GPL (KDE).[20]

El 4 de septiembre de 2000, Trolltech comenzó a ofrecer la biblioteca Qt en su versión 2.1 bajo la licencia GPL en su versión para Linux. La versión para Mac OS X no se publicó bajo GPL hasta junio de 2003, mientras que la versión para Windows fue publicada bajo la licencia GPL en junio de 2005.

El 18 de enero de 2008, Trolltech anunció que también ofrecería Qt bajo la licencia GPL v3.

El 14 de enero de 2009, Nokia anunció que Qt v4.5 se licenciaría adicionalmente bajo la licencia LGPL 2.1, con el lema «Qt Everywhere».[21]

Qt cuenta actualmente con un sistema de triple licencia: GPL v2/v3 para el desarrollo de software de código abierto y software libre, la licencia de pago QPL para el desarrollo de aplicaciones comerciales, y a partir de la versión 4.5 una licencia gratuita pensada para aplicaciones comerciales, LGPL.

[editar] Plataformas

Qt se encuentra disponible para sistemas tipo unix con el servidor gráfico X Window System (Linux, BSDs, Unix), para Apple Mac OS X, para sistemas Microsoft Windows, para Linux embebido (en inglés Embedded Linux, para sistemas embebidos como PDA, Smartphone, etc.) y para dispositivos que utilizan Windows CE[22]

Qt Software anunció el 20 de octubre de 2008 una versión de Qt para la plataforma S60.[23] [24]

Adicionalmente también está disponible QSA (Qt Scripts for Applications), que, basándose en ECMAScript/JavaScript, permite introducir y crear scripts en las aplicaciones creadas con Qt.

Hay tres ediciones de Qt disponibles en cada una de estas plataformas, llamadas:

  • GUI Framework – edición con nivel reducido de GUI, orientado a redes y bases de datos.
  • Full Framework – edición completa comercial
  • Open Source – edición completa Open Source

[editar] Bindings

Qt dispone de una serie de bindings para diversos lenguajes de programación:

  • PyQt – Bindings GPL/Comercial para Python.
  • PySide[25] – LGPL bindings para Python de OpenBossa (subsidiario de Nokia).
  • PythonQt[26] – LGPL bindings para Python.
  • Qyoto[27] – Bindings para C# u otros lenguajes.NET. Existe un conjunto adicional de bindings Kimono[28] para KDE.
  • QtRuby[29] – Bindings para Ruby. Existe un conjunto adicional de bindings, Korundum para KDE.
  • Qt Jambi[30] – Bindings para Java.
  • QtAda[31] – Bindings para Ada.
  • FreePascal Qt4[32] – Bindings para Pascal.
  • Perl Qt4[33] – Bindings para Perl.
  • PHP-Qt – Bindings para PHP.
  • Qt Haskell[34] – Bindings para Haskell.
  • lqt[35] – Bindings para Lua.
  • DaoQt[36] – Bindings para Dao.
  • QtD[37] – Binding para D.

[editar] Ejemplo de programación

Otro ejemplo del programa ¡Hola Mundo!.

El siguiente es un ejemplo usando Qt del conocido programa ¡Hola Mundo!, donde se crea una ventana con una etiqueta (QLabel) mostrando el texto ¡Hola Mundo!.

/******** Hola.cpp **********/
#include <QtGui/QApplication>
#include <QtGui/QLabel>
 
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel label("¡Hola Mundo!");
    label.show();
    return app.exec();
}


Compilación y ejecución

1. Se crea la carpeta Hola
2. Se crea el archivo Hola.cpp en la carpeta Hola
3. En un emulador de terminal descender a la carpeta Hola y ejecutar:

a) qmake -project
b) qmake
c) make/gmake/nmake - según el sistema operativo o de compilación

4. Para ejecutar el programa:

d) ./release/Hola (en Windows: release\Hola.exe)

[editar] Aplicaciones escritas en Qt

Ejemplos de aplicaciones populares que usan Qt:

[editar] Véase también

[editar] Referencias

[editar] Enlaces externos

Wikilibros

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Imprimir/exportar
Herramientas
En otros idiomas