Qt

Qt (pronunciat "quiut") és un entorn de treball multiplataforma per a la creació de programes amb Interfície gràfica d'usuari (GUI en anglès). Consisteix en unes biblioteques escrites en llenguatge C++.

Qt està disponible en llicències comercial, GPL v3 i LGPL v2. Totes les edicions suporten diversos compiladors incloent el GNU Compiler Collection C++ i el Visual Studio.

Actualment Qt és desenvolupat per Digia, que és propietària de la marca, i el Qt Project que té un sistema de govern obert i inclou tant desenvolupadors individuals com diverses empreses. Abans del llançament del Qt Project el desenvolupament el realitzava Nokia amb la seva divisió Qt Development Frameworks que es va crear a partir de la compra de la companyia noruega Trolltech, la creadora original de Qt. El febrer de 2011 Nokia va anunciar que abandonava el sistema operatiu mòbil Symbian i passava a basar la seva estratègia en smartphones en la plataforma de Microsoft. Un mes després Nokia anunciava la venda de la llicència i serveis de suport de Qt a l'empresa Digia.

Les Qt són especialment usades per KDE, Qtopia i OPIE i usen una versió ampliada del llenguatge de programació C++, però els bindings existeixen per Python, Ruby, C, Perl i Pascal.

L'entorn de desenvolupament Qt s'utilitza en programari molt conegut com l'Autodesk Maya, l'Adobe Photoshop Elements, Skype, VLC media player, i VirtualBox. També per grans organitzacions i empreses com l'Agència Espacial Europea, DreamWorks, Google, HP, KDE, Lucasfilm, Panasonic, Philips, Samsung, Siemens, Volvo, Walt Disney Pictures i Research In Motion.

Funcionen en la majoria de plataformes i tenen un important esforç d'internacionalització. Les característiques que no fan ús de la interfície gràfica són l'accés a bases de dades SQL, gestió de fils, una API unificada i un analitzador d'XML.

Varietat 
Les Qt són suportades en les següents plataformes:

 X11 — Qt per l'X Window System.
 OS X — Qt per Apple Mac OS X.
 Windows — Qt per Microsoft Windows.
 Embedded Linux — Qt per plataformes encastades PDA, Smartphone, ...)
 Wayland — Qt pel servidor gràfic Wayland.
 Qt/Jambi — Qt per la plataforma de desenvolupament de Java.

Hi ha quatre edicions de Qt disponibles per cada una d'aquestes versions:
 Qt Console — edició per desenvolupar sense interfície gràfica.
 Qt Desktop Light — capacitat de gestió de mètodes d'entrada, suport per base de dades i de xarxa.
 Qt Desktop  — edició completa.
 Qt Open Source Edition — edició completa, pel desenvolupament de programari lliure.

Les tres primeres versions són llançades amb una llicència comercial privativa; mentre que l'última edició està sota llicència GPL i de forma addicional sota llicència QPL per a la versió de Qt/X11.

En el cas de la plataforma X11, la QPL permet a l'aplicació final ser llicenciada sota diverses llicències lliures, per exemple la LGPL o la llicència Artística. Per a les plataformes Windows o Mac OS X, la GPL és l'única llicència lliure disponible, per tant les aplicacions s'han de llançar sota GPL.

Totes les edicions suporten múltiples compiladors, incloent el compilador GCC+ per C++. El suport oficial per la suit de Visual Studio està restringit a la versió comercial de Qt/Windows.

El projecte  ha llençat diversos pegats  que afegeixen suport al Microsoft Visual Studio i al Borland C++ Builder per a la versió lliure de Qt/Windows.

Versions

Qt 4 
Trolltech va publicar Qt 4 el 28 de juny del 2005 i va introduir cinc noves tecnologies al framework:
 Tulip Un conjunt de classes de plantilles contenidor.
 Interview Un arquitectura model/vista per la vista d'articles.
 Arthur Un framework de pintat 2d.
 Scribe Un renderitzador de text unicode amb una API pública per tal de fer operacions a baix nivell.
 MainWindow Una finestra, barra, menú i arquitectures més modernes.

Les biblioteques Qt versió 4 tenen dues llicències, una sota GPL i una de Comercial dirigida a aquelles empreses que vulguin desenvolupar programari privatiu. Les dues versions inclouen suport per a Windows mentre que versions anteriors només ho permetien en la versió comercial.

Les biblioteques Qt versió 4.1 es publicaren el 19 de desembre de 2005 introduint el suport de SVN, un backend pel sistema d'impressió amb Qt i moltes altres novetats].

Les biblioteques Qt versió 4.2, publicades al 4 d'octubre de 2006, introdueixen suport natiu de CSS pel disseny de components gràfics, així com un objecte QGraphicsView que permet el renderitzat de milers d'objectes 2D en la pantalla, per tal de reemplaçar la classe QCanvas de les Qt 3.x.

Les biblioteques Qt versió 4.3, publicades al 30 de maig de 2007, milloraven el suport per Windows Vista, l'enginy OpenGL, la generació de fitxers SVG, afegia la classe QtScript que era un enginy de scripting ECMAScript basat en QSA.

Les biblioteques Qt versió 4.4, publicades al 6 de maig del 2008 introduïen suport multimèdia a través de Phonon, un millor suport del llenguatge descriptiu XML, una capa de concurrència que facilita el desenvolupament d'aplicacions multifil, una capa IPC centrada en la memòria compartida i integració amb el motor de navegació WebKit.

Les biblioteques Qt versió 4.5, publicades al 3 de març de 2009 inclouen QtCreator, motor gràfic millorat, millor integració amb WebKit, suport d'escriptura OpenDocument Format i les opcions de llicències noves, així com suport per al framework Mac OS X Cocoa.

Les biblioteques Qt versió 4.6, publicades a l'1 de desembre de 2009 inclouen noves API Framework Animation, gestos Multi-Touch. Ara dona suport (com nivell 1) a Symbian i (com a nivell 2) a Windows 7 i Mac OS X 10.6, suport ampliat per a alguns sistemes UNIX. A més, una gran millora en les prestacions.

Qt 5 
El Qt 5 havia de ser alliberat el juny de 2012 però va patir diversos retards fins que no va estar llest. Finalment fou oficialment alliberat el 19 de desembre de 2012. Aquesta versió marca un gran canvi a la plataforma, amb gràfics que depenen de les GPU, QML i JavaScript comportant elements clau. Els QWidgets (escrits només amb C++) que s'utilitzaven fins al moment continuen sent compatibles, però no es beneficien de les millores de la nova arquitectura del sistema. La versió Qt 5 aporta millores significatives en la rapidesa i facilitat per a crear interfícies gràfiques d'usuari.

The Qt Company va anunciar el gener del 2020 que les versions LTS es restringirien als clients comercials, per tant es deixaria de donar suport als projectes de codi obert. El gener del 2021 es feia efectiu el canvi en l'estratègia comercial del producte en la versió Qt 5.15, suposant un perill pel que fa a la seguretat per aquells que continuïn emprant aquesta versió sense una llicència. D'altra banda la companyia ja havia anunciat la intenció de restringir l'Entorn de treball a llicències propietàries, alhora que també es va plantejar exigir l'ús d'un compte per a les descàrregues. Com a primera conseqüència, programari de codi obert que es basa en Qt es pot veure en dificultats i una segona conseqüència és per al projecte KDE i el seu programari que es basa en Qt. El febrer del 2021, el reproductor de música Audacious va fer el llançament de la versió 4.1 suportat per Qt 6.0 o GTK 2. Ll'abril del 2021, KDE anunciava que faria el manteniment de Qt 5 mentre es preparava per a fer el pas a Qt 6. Amb aquesta intenció anunciava la creació de Qt 5 Patch Collection, una col·lecció de pedaços per assegurar-ne l'estabilitat.

Qt 6 
El 8 de desembre de 2020 es féu públic el llançament de Qt 6.0. La nova versió proporcionava un major grau de llibertat a l'hora d'implementar noves característiques, funcionalitats i un millor suport. Qt 6.0 es considerava com una continuació de la sèrie Qt 5 i no es preveien dificultats perquè els usuaris hi migressin. No obstant això, Qt 6 en la versió de llançament encara no disposava de totes les funcionalitats de Qt 5.15.

El 6 de maig de 2021, es llançava Qt 6.1 amb funcionalitats addicionals a les de Qt 5.15, però encara en mancaven algunes.

El 30 de setembre de 2021, es llançava Qt 6.2 LTS. La majoria de mòduls foren portats des de Qt 5.15 LTS, amb la intenció d'afavorir el pas entre les dues versions. Incorporava suport per a Apple Silicon i Windows 11. Com ja va succeir amb el llançament de Qt 5.15 que fou controvertit, els llançaments LTS només estan destinats als clients comercials. No obstant això, clients de codi obert com KDE creien que el pas entre la versió 5 i la 6 no seria conflictiva.

Notes

Referències

Vegeu també 
 PyQt
 PySide

Enllaços externs 

 Lloc web de Qt
 Lloc web de la comunitat de Qt
 Com funciona la llicència privativa de Qt 
 El tutorial de Qt independent
 Una introducció al disseny de plantilles amb C++ i Qt4 .
 Usant ODBC a Qt

Desenvolupament de programari
API
KDE
Biblioteques de programari