SlideShare a Scribd company logo
1 of 17
Download to read offline
Mini Guide Qt

              Creare un’applicazione con Qt Creator
                             in pochi semplici passi


Premessa
Questa presentazione è rilasciata sotto Licenza
Creative Commons: Attribution-NonCommercial-NoDerivativeWorks
(http://creativecommons.org/licenses/by-nc-nd/3.0/deed.it).

Questo documento può quindi essere riprodotto senza violare nessuna legge, sia in versione elettronica, sia in
versione cartacea, purché sia riprodotto integralmente in tutte le sue parti, compresa la pagina che contiene queste
informazioni:

Versione originale scaricabile dal sito
http://www.sereno-online.com/site/

Tutti i marchi riportati in questa pubblicazione appartengono ai rispettivi proprietari.



Link Utili
Qui di seguito riporto alcuni link utili per chi usa quotidianamente l’ambiente di sviluppo Qt e vuole confrontarsi con
altri sviluppatore, utenti e semplici appassionati di questo toolkit gratuito ed open source.



Gruppo Programmatori Italiani Qt Software (GPIQt)

http://www.facebook.com/inbox/?ref=mb#/group.php?gid=81561439535



qt in Italy

http://qt-apps.org/groups/?id=17



qtitaliantranslators

http://gitorious.org/+qtitaliantranslators




Autore P. Sereno                                                                  http://www.sereno-online.com/site
Mini Guide Qt

Passo 1
Per prima cosa creiamo un nuovo progetto usando il comando New della menubar File




Autore P. Sereno                                                   http://www.sereno-online.com/site
Mini Guide Qt

Passo 2
Selezioniamo Qt4 Gui Application come da figura seguente.




Autore P. Sereno                                            http://www.sereno-online.com/site
Mini Guide Qt

Passo 3
Diamo un nome al nostro progetto, ad esempio testMainWindow e salviamolo in una directory del nostro
hard disk.




Autore P. Sereno                                                   http://www.sereno-online.com/site
Mini Guide Qt

Passo 4
Per questo semplice esempio non è necessario includere altri moduli di Qt diversi da quelli di default.




Autore P. Sereno                                                         http://www.sereno-online.com/site
Mini Guide Qt

Passo 5
Lasciamo tutti i nomi di default proposti da Qt Creator.




Autore P. Sereno                                           http://www.sereno-online.com/site
Mini Guide Qt

Passo 6
Per questo progetto non abbiamo bisogno di altro. Premiamo il tasto finish.




Autore P. Sereno                                                       http://www.sereno-online.com/site
Mini Guide Qt

Passo 7
Ecco pronto il nostro workspace. Qt creator ha creato per noi questi files:

    1.   testMainWindow.pro
    2.   main.cpp
    3.   mainwindow.cpp
    4.   mainwindow.h
    5.   mainwindow.ui




Autore P. Sereno                                                         http://www.sereno-online.com/site
Mini Guide Qt

Passo 8
Se facciamo doppio click sul file mainwindow.ui che compare nella lista dei file a sinistra dello schermo, Qt
Creator mostrerà la nostra Main Window nell’area di editing.




Autore P. Sereno                                                         http://www.sereno-online.com/site
Mini Guide Qt

Passo 9
Nella parte a sinistra della nostra form (dove compare Type Here ) facciamo click con il mouse, si aprirà un
piccolo text editor dove potremo inserire la prima label della menu bar. Nel nostro caso inseriamo ad
esempio File.




Autore P. Sereno                                                       http://www.sereno-online.com/site
Mini Guide Qt

Passo 10
A questo punto, facendo click sul menu File del nostro form, compare il sottomenu indicato in figura seguente.




Autore P. Sereno                                                              http://www.sereno-online.com/site
Mini Guide Qt

Passo 11
Selezionando la voce Type Here del sottomenu andremo a scrivere le voci del nostro menu. Nel caso riportato in
figura seguente si è inserit la voce Exit (che corrisponde a creare una QAction).




Autore P. Sereno                                                             http://www.sereno-online.com/site
Mini Guide Qt

Passo 12
Dopo aver creato la voce Exit del menu, Qt Creator ha generato una QAction di nome actionExit.

Editiamo ora il nostro file mainwindow.cpp e subito dopo l’inizializzazione (ui->setupUI()) inserita automaticamente,
andiamo a scrivere la nostra prima connect:

connect (ui->actionExit,SIGNAL(triggered()),this,SLOT(close()));

Questo metodo ci consente di stabilire una connessione tra il segnale di triggered della QAction corrispondente al
menu File->Exit e lo slot di terminazione della nostra MainWindow.

In altre parole:

connect() = il metodo che realizza la connessione Signal&Slot

ui->actionExit =          è l’istanza della classe QAction generata in automatico
dall’ambiente Qt

SIGNAL(triggered()) = questa macro informa il meta object compiler di Qt che
triggered è il segnale emesso da QAction ogni volta che il menu File->Exit viene
selezionato.

this = rappresenta l’istanza della nostra MainWindow

SLOT(close()) = questa macro informa il meta object compiler di Qt che il metodo
close() della classe QMainWindow (la classe da cui ereditiamo la nostra
MainWindow) deve essere connesso al segnale passato come secondo parametro della
connect.




Autore P. Sereno                                                               http://www.sereno-online.com/site
Mini Guide Qt




Autore P. Sereno   http://www.sereno-online.com/site
Mini Guide Qt

Passo 13
Lanciamo ora la compilazione (menu Build, voce Build All di Qt Creator)




Autore P. Sereno                                                          http://www.sereno-online.com/site
Mini Guide Qt

Passo 14
Se tutto è corretto potremo infine lanciare la nostra applicazione con i comando Run del menu Build di Qt Creator. Il
risultato sarà quello di figura seguente.




Selezionando da Menu File il comando Exit, la nostra applicazione terminerà.




Autore P. Sereno                                                               http://www.sereno-online.com/site
Mini Guide Qt

Considerazioni finali
Questa è la seconda lezione di un ciclo che verrà reso disponibile gratuitamente in Internet sul sito
(http://www.sereno-online.com/site).

Ogni vostro commento o richiesta di informazioni rappresenta un utile punto di partenza per nuove lezioni o
miglioramenti.



Buon divertimento!

Paolo




Autore P. Sereno                                                                 http://www.sereno-online.com/site

More Related Content

What's hot

Adianti Framework PHPConf 2013
Adianti Framework PHPConf 2013Adianti Framework PHPConf 2013
Adianti Framework PHPConf 2013
Pablo Dall'Oglio
 

What's hot (20)

Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
 
Introduction to the Qt Quick Scene Graph
Introduction to the Qt Quick Scene GraphIntroduction to the Qt Quick Scene Graph
Introduction to the Qt Quick Scene Graph
 
Async Programming in C# 5
Async Programming in C# 5Async Programming in C# 5
Async Programming in C# 5
 
Adianti Framework PHPConf 2013
Adianti Framework PHPConf 2013Adianti Framework PHPConf 2013
Adianti Framework PHPConf 2013
 
Jenkins vs GitLab CI
Jenkins vs GitLab CIJenkins vs GitLab CI
Jenkins vs GitLab CI
 
Bean Validation - Cours v 1.1
Bean Validation - Cours v 1.1Bean Validation - Cours v 1.1
Bean Validation - Cours v 1.1
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
Introduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ ArtemisIntroduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ Artemis
 
Conan a C/C++ Package Manager
Conan a C/C++ Package ManagerConan a C/C++ Package Manager
Conan a C/C++ Package Manager
 
Qt Application Programming with C++ - Part 2
Qt Application Programming with C++ - Part 2Qt Application Programming with C++ - Part 2
Qt Application Programming with C++ - Part 2
 
Maven ppt
Maven pptMaven ppt
Maven ppt
 
Android Security Internals
Android Security InternalsAndroid Security Internals
Android Security Internals
 
LetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptxLetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptx
 
Maven Basics - Explained
Maven Basics - ExplainedMaven Basics - Explained
Maven Basics - Explained
 
Idiomatic Kotlin
Idiomatic KotlinIdiomatic Kotlin
Idiomatic Kotlin
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020
 
Python Django tutorial | Getting Started With Django | Web Development With D...
Python Django tutorial | Getting Started With Django | Web Development With D...Python Django tutorial | Getting Started With Django | Web Development With D...
Python Django tutorial | Getting Started With Django | Web Development With D...
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 

Viewers also liked

Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Develer S.r.l.
 

Viewers also liked (12)

Qt Lezione0: uso del C++ per scrivere applicazioni Qt
Qt Lezione0: uso del C++ per scrivere applicazioni QtQt Lezione0: uso del C++ per scrivere applicazioni Qt
Qt Lezione0: uso del C++ per scrivere applicazioni Qt
 
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegateSviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
 
Integrazione QML / C++
Integrazione QML / C++Integrazione QML / C++
Integrazione QML / C++
 
GUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & AnjutaGUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & Anjuta
 
Qt Lezione6
Qt Lezione6Qt Lezione6
Qt Lezione6
 
Qt Creator: the secret weapon of any c++ programmer
Qt Creator: the secret weapon of any c++ programmerQt Creator: the secret weapon of any c++ programmer
Qt Creator: the secret weapon of any c++ programmer
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
 
Che cosa è il Qt Framework
Che cosa è il Qt FrameworkChe cosa è il Qt Framework
Che cosa è il Qt Framework
 
Qt roadmap: the future of Qt
Qt roadmap: the future of QtQt roadmap: the future of Qt
Qt roadmap: the future of Qt
 
Qt Lezione4 Parte1: creare un custom widget plugin
Qt Lezione4 Parte1: creare un custom widget pluginQt Lezione4 Parte1: creare un custom widget plugin
Qt Lezione4 Parte1: creare un custom widget plugin
 
Qt Quick GUI Programming with PySide
Qt Quick GUI Programming with PySideQt Quick GUI Programming with PySide
Qt Quick GUI Programming with PySide
 
Creating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtCreating Slick User Interfaces With Qt
Creating Slick User Interfaces With Qt
 

Similar to Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi

Similar to Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi (20)

Installazione Qt 4.5.3 per Ms Windows
Installazione Qt 4.5.3 per Ms WindowsInstallazione Qt 4.5.3 per Ms Windows
Installazione Qt 4.5.3 per Ms Windows
 
Qt 4.5.3 con Visual C++ Express 2008 (edizione gratuita!)
Qt 4.5.3 con Visual C++ Express 2008 (edizione gratuita!)Qt 4.5.3 con Visual C++ Express 2008 (edizione gratuita!)
Qt 4.5.3 con Visual C++ Express 2008 (edizione gratuita!)
 
Installazione Eclipse Cdt Per Qt
Installazione Eclipse Cdt Per QtInstallazione Eclipse Cdt Per Qt
Installazione Eclipse Cdt Per Qt
 
Qt Lezione5: Layout management e Qt Designer
Qt Lezione5: Layout management e Qt DesignerQt Lezione5: Layout management e Qt Designer
Qt Lezione5: Layout management e Qt Designer
 
Installazione Qt/Qt Quick per target Android
Installazione Qt/Qt Quick  per target AndroidInstallazione Qt/Qt Quick  per target Android
Installazione Qt/Qt Quick per target Android
 
Tiscali bootcamp
Tiscali bootcampTiscali bootcamp
Tiscali bootcamp
 
KDE Plasma widgets
KDE Plasma widgetsKDE Plasma widgets
KDE Plasma widgets
 
Corso java
Corso javaCorso java
Corso java
 
TuxIsAlive
TuxIsAliveTuxIsAlive
TuxIsAlive
 
Testing 2014-todi
Testing 2014-todiTesting 2014-todi
Testing 2014-todi
 
La tua prima app per Ubuntu Touch
La tua prima app per Ubuntu TouchLa tua prima app per Ubuntu Touch
La tua prima app per Ubuntu Touch
 
Qt Lezione4 Parte2: creare un custom widget plugin per Qt Designer
Qt Lezione4 Parte2: creare un custom widget plugin per Qt DesignerQt Lezione4 Parte2: creare un custom widget plugin per Qt Designer
Qt Lezione4 Parte2: creare un custom widget plugin per Qt Designer
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumate
 
Lavorare con applicazioni Brownfield: il caso di 39x27.com
Lavorare con applicazioni Brownfield: il caso di 39x27.comLavorare con applicazioni Brownfield: il caso di 39x27.com
Lavorare con applicazioni Brownfield: il caso di 39x27.com
 
Qt Platform Abstraction
Qt Platform AbstractionQt Platform Abstraction
Qt Platform Abstraction
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
 
Visual Studio Release Management - una nuova Weltanschauung o un'evoluzione n...
Visual Studio Release Management - una nuova Weltanschauung o un'evoluzione n...Visual Studio Release Management - una nuova Weltanschauung o un'evoluzione n...
Visual Studio Release Management - una nuova Weltanschauung o un'evoluzione n...
 
Accesso remoto al proprio computer in una rete eterogenea
Accesso remoto al proprio computer in una rete eterogeneaAccesso remoto al proprio computer in una rete eterogenea
Accesso remoto al proprio computer in una rete eterogenea
 
Matteo baccan raspberry pi - linox 2015 - corso parte 2
Matteo baccan   raspberry pi - linox 2015 - corso parte 2Matteo baccan   raspberry pi - linox 2015 - corso parte 2
Matteo baccan raspberry pi - linox 2015 - corso parte 2
 

Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi

  • 1. Mini Guide Qt Creare un’applicazione con Qt Creator in pochi semplici passi Premessa Questa presentazione è rilasciata sotto Licenza Creative Commons: Attribution-NonCommercial-NoDerivativeWorks (http://creativecommons.org/licenses/by-nc-nd/3.0/deed.it). Questo documento può quindi essere riprodotto senza violare nessuna legge, sia in versione elettronica, sia in versione cartacea, purché sia riprodotto integralmente in tutte le sue parti, compresa la pagina che contiene queste informazioni: Versione originale scaricabile dal sito http://www.sereno-online.com/site/ Tutti i marchi riportati in questa pubblicazione appartengono ai rispettivi proprietari. Link Utili Qui di seguito riporto alcuni link utili per chi usa quotidianamente l’ambiente di sviluppo Qt e vuole confrontarsi con altri sviluppatore, utenti e semplici appassionati di questo toolkit gratuito ed open source. Gruppo Programmatori Italiani Qt Software (GPIQt) http://www.facebook.com/inbox/?ref=mb#/group.php?gid=81561439535 qt in Italy http://qt-apps.org/groups/?id=17 qtitaliantranslators http://gitorious.org/+qtitaliantranslators Autore P. Sereno http://www.sereno-online.com/site
  • 2. Mini Guide Qt Passo 1 Per prima cosa creiamo un nuovo progetto usando il comando New della menubar File Autore P. Sereno http://www.sereno-online.com/site
  • 3. Mini Guide Qt Passo 2 Selezioniamo Qt4 Gui Application come da figura seguente. Autore P. Sereno http://www.sereno-online.com/site
  • 4. Mini Guide Qt Passo 3 Diamo un nome al nostro progetto, ad esempio testMainWindow e salviamolo in una directory del nostro hard disk. Autore P. Sereno http://www.sereno-online.com/site
  • 5. Mini Guide Qt Passo 4 Per questo semplice esempio non è necessario includere altri moduli di Qt diversi da quelli di default. Autore P. Sereno http://www.sereno-online.com/site
  • 6. Mini Guide Qt Passo 5 Lasciamo tutti i nomi di default proposti da Qt Creator. Autore P. Sereno http://www.sereno-online.com/site
  • 7. Mini Guide Qt Passo 6 Per questo progetto non abbiamo bisogno di altro. Premiamo il tasto finish. Autore P. Sereno http://www.sereno-online.com/site
  • 8. Mini Guide Qt Passo 7 Ecco pronto il nostro workspace. Qt creator ha creato per noi questi files: 1. testMainWindow.pro 2. main.cpp 3. mainwindow.cpp 4. mainwindow.h 5. mainwindow.ui Autore P. Sereno http://www.sereno-online.com/site
  • 9. Mini Guide Qt Passo 8 Se facciamo doppio click sul file mainwindow.ui che compare nella lista dei file a sinistra dello schermo, Qt Creator mostrerà la nostra Main Window nell’area di editing. Autore P. Sereno http://www.sereno-online.com/site
  • 10. Mini Guide Qt Passo 9 Nella parte a sinistra della nostra form (dove compare Type Here ) facciamo click con il mouse, si aprirà un piccolo text editor dove potremo inserire la prima label della menu bar. Nel nostro caso inseriamo ad esempio File. Autore P. Sereno http://www.sereno-online.com/site
  • 11. Mini Guide Qt Passo 10 A questo punto, facendo click sul menu File del nostro form, compare il sottomenu indicato in figura seguente. Autore P. Sereno http://www.sereno-online.com/site
  • 12. Mini Guide Qt Passo 11 Selezionando la voce Type Here del sottomenu andremo a scrivere le voci del nostro menu. Nel caso riportato in figura seguente si è inserit la voce Exit (che corrisponde a creare una QAction). Autore P. Sereno http://www.sereno-online.com/site
  • 13. Mini Guide Qt Passo 12 Dopo aver creato la voce Exit del menu, Qt Creator ha generato una QAction di nome actionExit. Editiamo ora il nostro file mainwindow.cpp e subito dopo l’inizializzazione (ui->setupUI()) inserita automaticamente, andiamo a scrivere la nostra prima connect: connect (ui->actionExit,SIGNAL(triggered()),this,SLOT(close())); Questo metodo ci consente di stabilire una connessione tra il segnale di triggered della QAction corrispondente al menu File->Exit e lo slot di terminazione della nostra MainWindow. In altre parole: connect() = il metodo che realizza la connessione Signal&Slot ui->actionExit = è l’istanza della classe QAction generata in automatico dall’ambiente Qt SIGNAL(triggered()) = questa macro informa il meta object compiler di Qt che triggered è il segnale emesso da QAction ogni volta che il menu File->Exit viene selezionato. this = rappresenta l’istanza della nostra MainWindow SLOT(close()) = questa macro informa il meta object compiler di Qt che il metodo close() della classe QMainWindow (la classe da cui ereditiamo la nostra MainWindow) deve essere connesso al segnale passato come secondo parametro della connect. Autore P. Sereno http://www.sereno-online.com/site
  • 14. Mini Guide Qt Autore P. Sereno http://www.sereno-online.com/site
  • 15. Mini Guide Qt Passo 13 Lanciamo ora la compilazione (menu Build, voce Build All di Qt Creator) Autore P. Sereno http://www.sereno-online.com/site
  • 16. Mini Guide Qt Passo 14 Se tutto è corretto potremo infine lanciare la nostra applicazione con i comando Run del menu Build di Qt Creator. Il risultato sarà quello di figura seguente. Selezionando da Menu File il comando Exit, la nostra applicazione terminerà. Autore P. Sereno http://www.sereno-online.com/site
  • 17. Mini Guide Qt Considerazioni finali Questa è la seconda lezione di un ciclo che verrà reso disponibile gratuitamente in Internet sul sito (http://www.sereno-online.com/site). Ogni vostro commento o richiesta di informazioni rappresenta un utile punto di partenza per nuove lezioni o miglioramenti. Buon divertimento! Paolo Autore P. Sereno http://www.sereno-online.com/site