
L'ultima versione di Qt è la 4.7 ma ci si riferisce sempre ad essa come "Qt4", per evitare confusione col rilascio maggiore precedente, Qt3. Il desktop 3.5.x è stato creato utilizzando Qt3 mentre il desktop KDE 4.x con Qt4. Le due versioni non sono compatibili, e viene fornito uno strumento per convertire le applicazioni sviluppate con Qt3 a Qt4. Tuttavia, alcune classi, metodi e proprietà esistenti in Qt3 non sono state trasferite in Qt4 e dovranno essere sostituite utilizzando gli oggetti Qt4 esistenti.
Il toolkit Qt (si pronuncia “cute”, in inglese) include tre componenti principali più l'IDE QtCreator e Qt-SDK. Essi sono prodotto da Nokia, che ha acquistato Qt da Trollthech, lo sviluppatore originale, per poter impiegare Qt nello sviluppo del sistema operativo dei propri dispositivi mobili, Symbian. Essi utilizzano Qt anche per supportare MeeGo, un progetto open source Linux che unisce i progetti Moblin e Maemo, capitanati rispettivamente da Intel e da Nokia, in un'unica attività open source. Nokia afferma che “MeeGo integra l'esperienza e le professionalità di due ecosistema di sviluppo significativi, molto capaci nelle comunicazioni e nelle tecnologie informatiche. Il progetto MeeGo è convinto che questi due pilastri formino le fondamenta tecniche per la prossima generazione di piattaforme e impieghi nell'ambito delle piattaforme e dei dispositivi mobili. MeeGo attualmente è orientato verso piattaforme quali netbook/desktop di primo livello, dispositivi informatici portatili e per la comunicazione, dispositivi di intrattenimento per autovetture, TV interattiva e telefoni multimediali.”
Note
L'undici febbraio 2011 Nokia ha annunciato una “collaborazione” con Microsoft per la quale Nokia sostituirà Symbian con Windows Phone 7 nei mercati avanzati americani ed europei e continuerà a usare Symbian in India e in altre regioni più povere. A causa dell'enorme protesta da parte dei sostenitori, di Qt e dell'open source, che hanno contribuito a Symbian, Meego e Maemo, Nokia ha rilasciato un comunicato blog il giorno successivo. Sembra che abbiano bisogno di Qt per continuare a supportare Symbian nei 200 milioni di telefoni Nokia che lo utilizzano, e di MeeGo e Maemo per una presenza “disgregatrice” nei mercati ai quali essi sono stati destinati. Tuttavia, tale collaborazione getta un'ombra sulla versione commerciale di Qt, a causa dell'influenza di Microsoft e la storia della sua collaborazione con Novell e altri soggetti che non esistono più.
I principali componenti di Qt sono Designer, Linguist e Application Programming Interface (API). Il toolkit Qt consente di scrivere codice per applicazioni avanzate con interfaccia grafica su Linux, Windows o Mac, e compilarlo su tutte e tre le piattaforme e sistemi operativi incorporati, con poca o nessuna riscrittura, risparmiando così tempo e costi di sviluppo.
Dato che viene rilasciato sotto licenza GPL/LGPL il Qt Toolkit non è minacciato da questa collaborazione, e Canonical ha annunciato che utilizzerà Qt al posto di Gnome per lo sviluppo del proprio desktop Unity 2D. Dunque, in considerazione di questo e del fatto che Qt viene rilasciato sotto licenza GPL/LGPL, Qt resta rimane uno strumento affidabile per lo sviluppo tanto quanto lo era prima dell'annuncio. Dato che Kubuntu utilizza il desktop KDE e KDE è stato creato con Qt, il quale è lo strumento GUI RAD più potente disponibile in Linux (qualcuno direbbe anche in Windows), le seguenti informazioni trattano l'installazione di Qt.
L'intero toolkit Qt è presente nel repository come qt-sdk o come parte del Qt SDK scaricabile dal sito web http://qt.nokia.com/downloads sotto licenza LGPL o una licenza commerciale. L'ultima versione del file zip di Qt-SDK-1.1 disponibile da Nokia è in versione sia a 32 bit sia a 64 bit. Include QtCreator, il Designer, l'Assistant (API), il Linguist e tutte le librerie e le utilità necessarie. Il Qt SDK può essere installato nell'account home dell'utente ed essere utilizzato per creare applicazione a prescindere di quale versione delle librerie Qt il desktop KDE richiede, dato che lo script di avvio di SDK imposta l'ambiente shell a puntare alle librerie SDK.
To use the QtCreator without installing the SDK one must first install the Qt components from the repository so that the Qt libraries, qmake, moc, debugger and other utilities are available to be automatically located by QtCreator when it is installed. Installing the following necessary packages in the order given will establish a proper QtCreator development environment:
qt4-dev-tools
qt4-doc (installa localmente l'API; per risparmiare spazio sul disco, utilizzate la versione online)
qt4-designer
qt4-make
qt4-qtconfig
libqt4-sqlite
qtcreator
Potrebbero essere necessari vari altri pacchetti, a seconda dei propri bisogni. Per esempio, se vuoi creare applicazioni per database, allora libqt4-sql-psql, libqt4-sql-mysql e libqt4-sql-sqlite ti permetteranno di collegarti rispettivamente a un database PostgreSQL, MySQL o SQLite3. Prendi in considerazione pure qt4-demos, libqt4-dbg, libqt4-network, libqt4-script, libqt4-xml, python-qt4 (collegamenti Python) e libqt4-webkit.
Si possono anche creare applicazioni Qt utilizzando solo Qt-Designer, l'Assistant e il Linguist installando tutti i sei pacchetti necessari elencati sopra, ad eccezione di qtcreator, che può essere sostituito da Kate o dal tuo editor di testo preferito. In questo caso, è possibile avviare Qt-Designer per creare interfacce grafiche indipendenti dall'editor di testo utilizzato.
Il Designer è lo strumento di progettazione per interfacce utente grafiche (GUI) per le applicazioni grafiche scritte tramite il kit di strumenti Qt. Qt fornisce blocchi di compilazione — un vasto gruppo di oggetti personalizzabili, aree di disegno grafiche, motori di stile e tutto il necessario per la creazione di interfacce utente moderne. È possibile incorporare all'interno del proprio progetto immagini 3D, audio o video multimediale, effetti visivi e animazioni. L'integrazione di Qt col motore di rendering web WebKit permette l'incorporamento rapido di contenuto e servizi dal web all'interno delle proprie applicazioni native, e rende possibile l'uso dell'ambiente web per l'invio dei propri servizi e funzionalità.
Il Linguist è lo strumento i18n di Qt (la parola "internationalization", internazionalizzazione, è formata da 18 lettere). Esso permette di creare in modo semplice i file di traduzione che vengono utilizzati con la funzione translate (tr()), che permette a un'applicazione di visualizzare la propria interfaccia nella lingua dell'utente.
L'Assistant è l'API (Application Programming Interface) di Qt, la documentazione di prima classe per Qt. Non tratta solo di classi e strumenti Qt. L'API per ogni rilascio di Qt, dei suoi strumenti ed estensioni si trova qui. Include i seguenti elementi: Class index, Function index, Modules, Namespaces, Global Declarations e gli elementi del nuovo strumento dichiarativo QML.
Altri argomenti dell'API Qt sono: Programming with Qt, Device UI's and Qt Quick, UI Design with Qt, Cross-platform and Platform-specific info, Qt and Key Technologies, How-To's and Best Practices. Sono documentati decine e decine di esempi. L'Assistant include anche esercitazioni, demo ed esempi QML.
QtCreator è l'IDE grafico di Qt, legato a un potente editor di testo, il Designer e il debugger in un ambiente grafico. La versione LGPL include la connessione a PostgreSQL e ad altri database open source. La licenza commerciale permette il connessione ad altri database open source e a database proprietari come Oracle. QtCreator è simile, in potenza, a Microsoft Visual Studio C++. Semplici applicazioni possono essere create senza dover scrivere una sola riga di codice. Internet e YouTube sono zeppi di esercitazioni e video che descrivono tutti i livelli dello sviluppo di Qt, come questo, che documenta i risultati di un nuovo utente.