Qt (toolkit)

Da Wikipedia, l'enciclopedia libera.
Qt
Logo di Qt (toolkit)
Screenshot di Qt (toolkit)
Qt designer
Sviluppatore Qt Software
Ultima versione 5.1.1 (28 agosto 2013)
Sistema operativo Multipiattaforma
Linguaggio C++
Genere Widget toolkit (non in lista)
Licenza licenza multipla: GNU LGPL
GNU GPL
Q Public License
Licenza proprietaria
(Licenza libera)
Sito web https://qt-project.org[1]

Qt, in informatica ed in particolare nel campo della programmazione, è una libreria multipiattaforma per lo sviluppo di programmi con interfaccia grafica tramite l'uso di widget (congegni o elementi grafici). Qt, ampiamente utilizzato nell'ambiente desktop KDE, viene sviluppato dall'azienda Qt Software (meglio conosciuta come Trolltech o Quasar Technologies) di proprietà di Digia.

Qt si dovrebbe pronunciare come l'inglese cute, cioè "carino". La pronuncia in grafia italiana è chiùt, anche se la pronuncia più intuitiva cutì non è rara (parallelamente, esiste la pronuncia inglese chiuttì).[senza fonte]

Storia[modifica | modifica sorgente]

Haavard Nord e Eirik Chambe-Eng (rispettivamente lo sviluppatore originale di Qt al CEO e il presidente della Trolltech) iniziarono lo sviluppo di "Qt" nel 1991. Tre anni prima la società era stata fondata come Quasar Technologies, poi cambiò il nome in Troll Tech, e infine in Trolltech.

Il toolkit fu chiamato Qt perché la lettera Q appariva bella nel carattere di Emacs Haavard, e la T fu ispirata dal Xt, il tool X. Un altro fattore può essere stato che la lettera Q non viene usata in norvegese, che sostituisce sistematicamente kv- a qu- in tutte le parole (in accordo con l'effettiva pronuncia): ciò rende la lettera Q "esotica", un po' come la K in italiano.

In norvegese, l'acronimo Qt si pronuncia cü-té: in grafia norvegese, potrebbe scriversi "kute", e, per quanto strano, è una parola composta che significa "tè di mucca".

Caratteristiche tecniche[modifica | modifica sorgente]

Qt usa il linguaggio C++ standard con un estensivo uso del preprocessore C per arricchire il linguaggio, ma esistono interfacce per Java, Python, C, Perl e PHP. Gira sulle piattaforme principali ed integra funzioni per l'accesso ai database SQL, parsing di documenti XML ed API multipiattaforma per l'uso dei file.

Varianti[modifica | modifica sorgente]

Le librerie Qt sono disponibili per queste piattaforme:

Attualmente vengono offerte in quattro edizioni, disponibili per ciascuna delle piattaforme:

  • Qt Console — versione embedded per lo sviluppo senza interfaccia grafica;
  • Qt Desktop Light — versione base per applicazioni con interfaccia grafica, senza supporto rete e SQL;
  • Qt Desktop — la versione completa;
  • Qt Open Source Edition — la versione completa, per sviluppo di software libero.

Le prime tre versioni sono rilasciate sotto una licenza commerciale; la versione libera, invece, viene rilasciata sotto licenza GPL. A partire da Qt 4 inoltre, a differenza di Qt 3.3, Qt viene rilasciato sotto doppia licenza (GPL e commerciale) anche su Windows.

L'edizione commerciale per Windows supporta Visual Studio; tutte supportano comunque il compilatore C++ GCC.

La squadra di KDE ha anche rilasciato un'edizione di Qt, chiamata Qt/Windows Free Edition — basata sul codice sorgente della versione Qt/X11 e licenziata sotto GPL, viene rilasciata per il progetto KDE via Cygwin. Questo era stato ispirato dal fatto che le versioni di Qt precedenti alla 4.0 non erano disponibili come software libero sotto Windows.

Licenza[modifica | modifica sorgente]

Delle polemiche scoppiarono attorno al 1998 quando divenne chiaro che KDE stava per diventare uno dei più importanti ambienti desktop per GNU/Linux. Poiché KDE era basato su Qt, molte persone nei movimenti open source e free software si preoccupavano che una parte essenziale del loro sistema operativo fosse non libera.

Per contrastare la situazione iniziarono due ambiziose iniziative: Harmony, che cercò di duplicare Qt sotto una licenza di software libero, e l'ambiente GNOME, che si basava sulle librerie GTK+ nel 1997.

Fino alla versione 1.45, Qt usò la licenza FreeQt — che non era né open source né free software perché, sebbene il codice sorgente fosse disponibile, non ne era consentita la ridistribuzione di versioni modificate. Con il rilascio della versione 2.0 della libreria, la licenza diventò la Q Public Licence (QPL), una licenza free software ma considerata dalla Free Software Foundation come incompatibile con la licenza GPL. Furono cercati dei compromessi tra KDE e la Trolltech in cui si decise che Qt non sarebbe potuto essere sotto una licenza più restrittiva della QPL, anche se la Trolltech fosse stata acquistata o fosse fallita. Questo consentì la creazione della KDE Free Qt foundation, la quale garantì che Qt sarebbe stato sotto la licenza BSD se nessuna versione open source di Qt fosse rilasciata nell'arco di 12 mesi.

Infine, la libreria Qt fu rilasciata sotto la licenza GPL a partire dalla versione 2.2 (per X11)[1], con l'alternativa di scegliere la QPL. Per motivi legali la QPL è ancora disponibile come licenza per X11, ma la Trolltech la considera obsoleta e ne sconsiglia l'uso[2]. Il 18 gennaio 2008 è stato annunciato il rilascio di Qt 3 e Qt 4 sotto licenza GPL.

Dopo l'acquisizione nel 2008 di Trolltech (ora Qt Development Frameworks) da parte di Nokia, il 14 gennaio 2009 l'omonima azienda annuncia il rilascio delle Qt 4.5 anche con licenza LGPL.

Sistemi supportati[modifica | modifica sorgente]

La prima versione di Qt ebbe solo due versioni: Qt/X11 per Unix e Qt/Windows per Windows. La versione per Windows fu distribuita con una licenza proprietaria. Alla fine del 2001 la Trolltech rilasciò Qt 3.0 aggiungendo il supporto per Mac OS X. Questo supporto fu disponibile con una licenza proprietaria, fino a giugno 2003, quando la Trolltech rilasciò la versione 3.2 nella quale la versione per Mac OS X fu disponibile con licenza GPL. Nel giugno 2005 anche la versione per Windows fu distribuita con licenza open source. Qt4 supporta questi sistemi sia nella versione proprietaria che in quella open source. Dalla versione 4.6 aggiunge il supporto a Symbian S60. Nel 2009 è stato per la prima volta compilato per Haiku.

hello world in Qt[modifica | modifica sorgente]

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

Compilare ed eseguire il programma hello world[modifica | modifica sorgente]

1. Creare una directory chiamata Hello
2. Inserire il codice di cui sopra in un file chiamato Hello.cpp nella directory Hello
3. All'interno della directory Hello lanciare

 a. qmake -project
 b. qmake
 c. make/gmake/nmake - come richiesto dal SO o dall'environment del compilatore

4. Eseguire ./release/Hello (Oppure release\Hello.exe in Windows)

Note[modifica | modifica sorgente]

  1. ^ Trolltech offers a choice in licensing with the addition of GPL licensing for the upcoming release of Qt, annuncio della Trolltech del 5 settembre 2000.
  2. ^ Qt Open Source Edition Licensing, dal sito della Trolltech.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

  • Collabora a Commons Commons contiene immagini o altri file su Qt

Collegamenti esterni[modifica | modifica sorgente]

Qt (toolkit) in Open Directory Project, Netscape Communications. (Segnala su DMoz un collegamento pertinente all'argomento "Qt (toolkit)")