- Qt (biblioteca)
-
Qt (biblioteca)
Qt
Qt Designer usado para el diseño del GUI.Desarrollador Qt Development Frameworks qt.nokia.com Información general Lanzamiento inicial 1992 Última versión estable 4.5.3
1 de octubre de 2009Género Biblioteca de desarrollo Escrito en C++ Plataforma Multiplataforma Licencia LGPL v2.1
GPL 2/3
Propietaria[1]Idiomas Multilingüe En español Sí Qt es una biblioteca multiplataforma para desarrollar interfaces gráficas de usuario y también para el desarrollo de programas sin interfaz gráfica como herramientas de la consola y servidores. Qt es utilizada principalmente en KDE, Google Earth, Skype, Qt Extended, Adobe Photoshop Album, VirtualBox y Opie. 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.[2]
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.
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.
Contenido
Historia
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[3]
Con la versión 2.0 se cambió a la licencia Q Public License, considerada Open Source. Esta 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).[4]
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».[5]
Qt cuenta actualmente con un sistema de triple licencia: GPL v2/v3 para el desarrollo de software de código abierto (open source) 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.
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 empotrado (en inglés Embedded Linux, para sistemas integrados como PDA, Smartphone, etc.) y para dispositivos que utilizan Windows CE[6]
Qt Software anunció el 20 de octubre de 2008 una versión de Qt para la plataforma S60.[7] [8]
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
Bindings
Qt dispone de una serie de bindings para diversos lenguajes de programación:
- PyQt – Bindings GPL/Comercial para Python.
- PySide[9] – LGPL bindings para Python de OpenBossa (subsidiario de Nokia).
- PythonQt[10] – LGPL bindings para Python.
- Qyoto[11] – Bindings para C# u otros lenguajes .NET. Existe un conjunto adicional de bindings Kimono[12] para KDE.
- QtRuby[13] – Bindings para Ruby. Existe un conjunto adicional de bindings, Korundum para KDE.
- Qt Jambi[14] – Bindings para Java.
- QtAda[15] – Bindings para Ada.
- FreePascal Qt4[16] – Bindings para Pascal.
- Perl Qt4[17] – Bindings para Perl.
- PHP-Qt – Bindings para PHP.
- Qt Haskell[18] – Bindings para Haskell.
- lqt[19] – Bindings para Lua.
- DaoQt[20] – Bindings para Dao.
- QtD[21] – Binding para D.
Ejemplo de programación
El siguiente es un ejemplo usando Qt del conocido programam ¡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 archivoHola.cpp
en la carpetaHola
3. En un emulador de terminal desender 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
)
Aplicaciones escritas en Qt
Populares ejemplos de aplicaciones que usan Qt:
- Adobe Photoshop Album, aplicacion para organizar imagenes.[22]
- Avidemux, programa libre para la edición y procesamiento de video.
- Doxygen, API generadora de documentación.
- Gadu-Gadu, popular cliente polaco de mensajería instantanea
- Google Earth, simulador de mapas en 3D
- KDE, popular entorno de escritorio para sistemas operativos tipo-Unix.
- Last.fm Player, the desktop client for the popular internet radio and music community website
- Launchy, programa de código abierto para ejecutar aplicaciones para Windows.
- LMMS, secuenciador y sintetizador de
- LyX, un GUI para LaTeX
- Mathematica, la versión de Linux usa Qt para el GUI
- MythTV, grabador de vídeo digital de código abierto
- Psi, cliente de mensajería instantanea para XMPP
- Qt Creator, el entorno de desarrollo integrado, software libre y multiplataforma de Nokia
- Quantum GIS, sistema de Información Geográfica
- Scribus, aplicación para la publicación de escritorio
- Skype, aplicacion VOIP[23]
- TeamSpeak, aplicación multiplataforma para la comunicación con voz
- Tlen.pl, popular cliente polaco de mensajería instantánea
- TOra, herramienta para la administración de bases de datos[24]
- VirtualBox, aplicación de código abierto para la virtualización x86
- VLC Media Player, reproductor multimedia de código abierto
Referencias
- ↑ http://www.qtsoftware.com/products/licensing
- ↑ Qt Software — Nokia acquired Trolltech
- ↑ KDE Free Qt Foundation
- ↑ The Evolution of the QPL
- ↑ Qt Software — LGPL License Option Added to Qt January 14, 2009
- ↑ Qt Software — Qt for Windows CE
- ↑ Qt Software — Technology Preview - Qt for S60
- ↑ Qt Labs Blogs — We’re porting Qt to S60!
- ↑ PySide
- ↑ PythonQt
- ↑ Qyoto
- ↑ Kimono
- ↑ QtRuby
- ↑ Qt Jambi
- ↑ QtAda
- ↑ FreePascal QT4
- ↑ Perl Qt4
- ↑ Qt Haskell
- ↑ lqt
- ↑ DaoQt
- ↑ QtD
- ↑ Qt Software — Adobe Photoshop Elements® Album
- ↑ Qt Software — Qt in use - Skype
- ↑ TOra uses the Qt library
Véase también
- Qt Creator, un IDE para Qt desarrollado por Qt Software.
- Aplicaciones Qt y KDE
- GTK+ biblioteca alternativa, utilizada en el entorno de escritorio GNOME
Enlaces externos
- Wikimedia Commons alberga contenido multimedia sobre Qt (biblioteca).
- Wikilibros alberga un libro o manual sobre Introducción a Patrones de Diseño en C++ con Qt4.
- Qt Development Frameworks, sitio oficial en inglés.
Categoría: Qt
Wikimedia foundation. 2010.