# 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 comercials, GPL v3 i LGPL v2. Totes les edicions suporten diversos compiladors incloent-hi 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 empreses. Abans del llançament del Qt Project el departament Qt Development Frameworks de Nokia va desenvolupar el projecte després de comprar la companyia noruega Trolltech, que havia creat Qt. El febrer de 2011 Nokia va anunciar que abandonava el sistema operatiu mòbil Symbian i començava una estratègia basada en smartphones de la plataforma de Microsoft. Un mes després Nokia va vendre Qt a l'empresa Digia.
Les Qt són especialment usades per KDE, Qtopia i OPIE i fan servir una versió ampliada del llenguatge de programació C++, però els bindings existeixen per Python, Ruby, C, Perl i Pascal.
El programari Qt es fa servir entre d'altres en 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. Les característiques que no fan servir 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

* ↑ El llançament de Qt6.1 fou pocs dies després que KDE fes l'anunci del llançament de Qt 5 Patch Collection. Es preveu que KDE passi a la branca de Qt 6 quan es faci el llançament de Qt 6.3 i Qt 6.2 LTS només rebi suport per a usuaris amb llicència. De moment s'allunya la possibilitat d'una fork de Qt per part de KDE.

## Referències

* ↑ Hughes, Bradley T. «About the Nokia acquisition», 30-01-2008. Arxivat de l'original el 2013-11-11. [Consulta: 17 setembre 2013].
* ↑ Nystrom, Sebastian. «Nokia and Digia working together to grow the Qt community», 07-03-2011. Arxivat de l'original el 13 de novembre 2012. [Consulta: 8 juliol 2011].
* ↑ «Qt in Autodesk». Arxivat de l'original el 2011-07-23. [Consulta: 11 agost 2012].
* ↑ «Qt in visual effects». Arxivat de l'original el 2011-07-23. [Consulta: 11 agost 2012].
* ↑ «Qt in VideoLan Player». Arxivat de l'original el 2012-02-03. [Consulta: 11 agost 2012].
* ↑ «Qt in the European Space Agency». Arxivat de l'original el 2011-07-23. [Consulta: 11 agost 2012].
* ↑ «Behind the Scenes at DreamWorks Animation: Making the Apps that Make the Movies». Arxivat de l'original el 2012-02-03. [Consulta: 11 agost 2012].
* ↑ «UI & System Design Challenges for the NxG Lighting Tool». Arxivat de l'original el 2012-02-03. [Consulta: 11 agost 2012].
* ↑ «Developing Innovative Desktop and Embedded HP Products with Qt». Arxivat de l'original el 2012-02-03. [Consulta: 11 agost 2012].
* ↑ «The KDE development platform».
* ↑ «Lucasfilm Entertainment Company Ltd.». Arxivat de l'original el 2012-02-03. [Consulta: 11 agost 2012].
* ↑ «Panasonic selects Qt for HD video system». Arxivat de l'original el 2011-07-23. [Consulta: 11 agost 2012].
* ↑ «Qt in IP Communications». Arxivat de l'original el 2011-07-23. [Consulta: 11 agost 2012].
* ↑ «Qt in Home Media». Arxivat de l'original el 2011-07-23. [Consulta: 11 agost 2012].
* ↑ «Qt helped Siemens deliver a C++ development platform for manufacturing software GUIs». Arxivat de l'original el 2011-07-14. [Consulta: 11 agost 2012].
* ↑ «Volvo Mobility Systems». Arxivat de l'original el 2012-02-03. [Consulta: 11 agost 2012].
* ↑ «Qt helped Walt Disney reduce development time spent on its cross-platform feature film production application». Arxivat de l'original el 2012-02-03. [Consulta: 11 agost 2012].
* ↑ «Qt for Blackberry Tablet OS & BB10». Arxivat de l'original el 2012-06-27. [Consulta: 11 agost 2012].
* ↑ «Qt_5.0 | Qt Wiki». Qt Project, 13-03-2012. Arxivat de l'original el 2013-09-21. [Consulta: 19 març 2013].
* ↑ «Qt 5 | Qt Wiki». Qt Project. Arxivat de l'original el 2013-09-21. [Consulta: 19 març 2013].
* ↑ «Concern about removal of QWidget classes», 07-10-2011. Arxivat de l'original el 21 de setembre 2013. [Consulta: 20 setembre 2013].
* ↑ Knoll, Lars. «Thoughts about Qt 5». Digia, 09-05-2011. Arxivat de l'original el 4 de gener 2013. [Consulta: 9 maig 2011].
* 1 2 «Los lanzamientos de Qt LTS se restringirán a clientes comerciales» (en castellà). MuyLinux, 28-01-2020. [Consulta: 2 juliol 2021].
* ↑ «The Qt Company restringe Qt 5.15 LTS a los usuarios comerciales» (en castellà). MuyLinux, 05-01-2021. [Consulta: 2 juliol 2021].
* ↑ «The Qt Company quiere restringir los lanzamientos de Qt» (en castellà). MuyLinux, 13-04-2020. [Consulta: 2 juliol 2021].
* 1 2 «KDE mantendrá Qt5 al margen de Qt Company» (en castellà). MuyLinux, 06-04-2021. [Consulta: 2 juliol 2021].
* ↑ «Qt 6.0 Released» (en anglès). [Consulta: 18 desembre 2020].
* ↑ «New Features in Qt 6.0 - Qt Wiki». [Consulta: 18 desembre 2020].
* ↑ «Disponible Qt 6 con soporte de C++ 17 y abstracción para los gráficos 3D » MuyLinux» (en castellà), 09-12-2020. [Consulta: 18 desembre 2020].
* ↑ «Qt 6.1 Released With More Modules Ported To Qt6 - Phoronix». Phoronix, 06-05-2021. [Consulta: 2 juliol 2021].
* ↑ «The Qt Company publica la hoja de ruta de Qt para 2021» (en castellà). MuyLinux, 30-04-2021. [Consulta: 2 juliol 2021].
* ↑ «Qt 6.2 LTS añade soporte de Apple Silicon y empieza el de Windows 11». Muy Linux, 30-09-2021. [Consulta: 30 setembre 2021].
* ↑ «Qt 6.2 LTS Released With Qt6 Now Aiming To Be Ready For Widespread Adoption - Phoronix». Phoronix, 30-09-2021. [Consulta: 30 setembre 2021].

## Vegeu també

* PyQt
* PySide

## Enllaços externs

* Qt - Lloc web oficial
* Lloc web de la comunitat de Qt
* El tutorial de Qt independent
* Usant ODBC a Qt