Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Qt Creator

Qt Creator è una IDE per lo sviluppo di interfacce grafice (GUI) basate su Qt: ecco una panoramica delle sue funzionalità, e come utilizzarlo.
Qt Creator è una IDE per lo sviluppo di interfacce grafice (GUI) basate su Qt: ecco una panoramica delle sue funzionalità, e come utilizzarlo.
Link copiato negli appunti

Qt Creator è un IDE multi-piattaforma appositamente progettato per lo sviluppo di applicazioni Qt. Rilasciato per la prima volta nel 2009, nel corso degli anni si è evoluto fino a diventare il fulcro dello sviluppo di applicazioni mediante le tecnologie di Qt, integrando tra le sue funzionalità la gestione di progetti, l'editing dei sorgenti, la progettazione delle interfacce grafiche e l'integrazione con tool di terze parti per il debugging ed il versioning.

Sebbene l'integrazione di tutte queste funzionalità sia ancora oggi perfettibile, giunto alla versione 4.7, Qt Creator è un ambiente di sviluppo maturo e consolidato, che consente di sviluppare applicazioni Qt, anche complesse, in modo professionale.

Qt Creator è strutturato in una serie di viste che cambiano dinamicamente in base al contesto ed alla modalità di interazione. La prima schermata che l'utente vede all'avvio dell'applicazione è la classica vista di benvenuto che contiene collegamenti per la creazione di un nuovo progetto e consente di accedere rapidamente alla lista dei progetti recenti. In questa stessa vista è possibile accedere alle sezioni di esempi e tutorial che vengono distribuiti con lo SDK di Qt.

Figura 1. La sezione esempi di Qt Creator (click per ingrandire)


La sezione esempi di Qt Creator

Qt Creator integra inoltre una sezione con la documentazione completa del framework, accessibile mediante la sezione Help, con funzionalità avanzate di ricerca e filtro, che consente la consultazione anche offline della documentazione relativa alle esatte versioni del framework installate nel nostro sistema.

Figura 2. La sezione documentazione di Qt Creator (click per ingrandire)


La sezione documentazione di Qt Creator

Gestione di progetti

Qt Creator dispone di una serie di template di progetto per la realizzazione di applicazioni con e senza interfaccia grafica, basate su widgets o su controlli Qt Quick, applicazioni o librerie in puro C o C++ e plugin che si integrano con le tecnologie Qt.

Tipicamente, salvo casi in cui specificato diversamente, i progetti creati mediante il wizard di Qt Creator sono predisposti per l'utilizzo di qmake, un tool di generazione automatica di makefile specializzato per Qt. Tuttavia è anche possibile basare la gestione del processo di compilazione e generazione degli eseguibili usando tool alternativi come CMake e gli Autotools di GNU.

La definizione del progetto è contenuta in un file di testo con estensione .pro, idoneo ad essere processato da qmake, che può essere manipolato sia direttamente, sia attraverso l'interazione con lo IDE. Le impostazioni relative all'utente ed alla piattaforma in uso sono segregate in un altro file di testo, con estensione .pro.user per semplificare il processo di esportazione verso altri sistemi.

Un progetto di Qt Creator è composto da una cartella principale che contiene la collezione dei file sorgenti creati dal programmatore e di quelli generati dai vari tool di Qt a supporto della nostra applicazione. Generalmente, gli eseguibili prodotti dal processo di compilazione sono contenuti in una cartella esterna a quella di progetto.

Importazione da sistemi di versioning e progetti modulari

Qt Creator offre la possibilità di importare progetti esistenti da una sorgente remota per svariati sistemi di versioning (git, svn, bazar etc) o di convertire progetti esistenti all'uso di qmake, anche se con qualche limitazione.

Un'altra tipologia di progetto molto interessante e quella nota come Subdirs, cioè un progetto inteso come collezione di altri progetti. Questa struttura si presta ad esempio alla creazione di applicazioni modulari, di progetti multi-applicazione, o alla creazione degli unit test per il consolidamento della nostra codebase. Un progetto subdirs è semplicemente un contenitore di progetti Qt, che possono essere sviluppati in maniera del tutto indipendente gli uni dagli altri, e data la sua estrema flessibilità consente di gestire facilmente anche applicazioni dall'architettura complessa.

Il processo di compilazione e i kit di sviluppo

Il processo di compilazione è altamente personalizzabile grazie alla possibilità di determinare molteplici profili di configurazione, a parte quelli di default per le versioni release e debug dell'eseguibile. Dalla vista Projects è infatti possibile selezione ed modificare ogni passo del processo di compilazione, aggiungendo ad esempio parametri opzionali a qmake e make, o modificando le variabili d'ambiente.

Figura 3. Opzioni di compilazione ed esecuzione del progetto (click per ingrandire)


Opzioni di compilazione ed esecuzione del progetto

La possibilità di installare molteplici versioni del framework si traduce nella gestione dei kit in Qt Creator. Un kit è definito come l'insieme il framework da utilizzare e tutti gli strumenti necessari al processo di compilazione quali compilatori, linker e debugger. Per ogni entità di un kit è possibile specificare la versione ed altri parametri opzionali.

Figura 4. Gestione dei kit di sviluppo in Qt Creator (click per ingrandire)


Gestione dei kit di sviluppo in Qt Creator

Debugging e profiling

Qt Creator si appoggia a tool di terze parti per effettuare il debugging dell'applicazione, come ad esempio GDB. La vista Debug consente di eseguire una esecuzione step-by-step delle istruzioni del programma e di ispezionare il contesto corrente e quelli antecedenti (stack trace), seppure con qualche limitazione per quanto riguarda l'accesso alle strutture dati facenti parte di dettagli implementativi del framework Qt.

Figura 5. Una sessione di debug in Qt Creator (click per ingrandire)


Una sessione di debug in Qt Creator

La versione di Qt Creator distribuita con licenza commerciale include inoltre una serie di strumenti di profiling dell'applicazione per determinare eventuali punti critici e colli di bottiglia nell'esecuzione del programma.

Design di interfacce grafiche e localizzazione

A parte un editor con funzionalità avanzate quali code completion e syntax highlight, Qt Creator integra anche una serie di altri strumenti che consentono di progettare interfacce grafiche basate sia su widgets che componenti QtQuick.

Quando si fa ricorso al designer integrato, tutte le direttive che riguardano la composizione ed il layouting dell'interfaccia vengono immagazzinate in appositi file con estensione .ui (widgets) o .qml (QtQuick) che adottano sintassi rispettivamente XML-like e javascript-like. Strumenti appositi come uic (user interface compiler) e moc (meta-object compiler) forniti insieme alle librerie Qt, sono poi impiegati per generare il codice in linguaggio C++ necessario per la composizione dell'interfaccia proprio a partire da questi file, prima dell'inizio del processo di compilazione vero e proprio.

Figura 6. Il designer di interfacce per widgets integrato in Qt Creator (click per ingrandire)


Il designer di interfacce per widgets integrato in Qt Creator

La vista Design si attiva ogni qualvolta si vuole modificare o visualizzare uno di questi file e consente di aggiungere o rimuovere controlli grafici e di gestire gli eventi ad essi correlati in stile RAD (rapid application development).

Infine, tra i vari strumenti distribuiti insieme alle librerie del framework, si trova Qt Linguist, uno strumento dedicato alla gestione di applicazioni multi-lingua, che consente di tradurre facilmente tutte le stringhe di testo che compaiono nell'interfaccia grafica della nostra applicazione.

In generale, la filosofia che caratterizza le modalità di interazione veicolate tramite Qt Creator in quanto IDE autonomo e completo per le tecnologie Qt, si basa sul presupposto di poter separare aspetti collaterali alla scrittura del codice, quali il design dell'interfaccia e la localizzazione dell'applicazione, in modo tale che, a parte lo sviluppatore, anche altre figure professionali quali il grafico o il traduttore possano operare in piena autonomia.

Ti consigliamo anche