In questo post creiamo una semplice applicazione in C++ sfruttando le librerie del framework Qt. Precisiamo che le interfaccie grafiche possono essere create per mezzo dell’ausilio dell’apposito Qt Designer, fornito sempre dalla trolltech, ma noi realizziamo tutto via codice, in maniera comunque semplice e veloce. La prima cosa da fare è includere tutti i file di header di cui si serve la nostra applicazione
#include <QApplication> //Classe per l’applicazzione, necessaria in qualsiasi programma
#include <QPushButton> //Classe per il bottone della finestra
#include <QWidget> //Classe per la form
Dopodiché andiamo a creare la nostra funzione principale main, il classico punto di ingresso del nostro programma.
int main(int argc, char *argv[])
{
Dentro alla funziona main, creiamo un’istanza della classe QApplication, che rappresenta la nostra applicazione, e che è sempre necessaria in qualsiasi programma realizzato con Qt. Come parametri di ingresso, passiamo gli stessi parametri che riceviamo tramite la funzione main, ovvero argc e argv.
QApplication a(argc, argv);
A questo punto creiamo la nostra form, ovvero l’interfaccia grafica (la finestra) che rappresenta la nostra applicazione e che conterrà i vari widgets (bottoni, label, etc…). Inoltre diamo alla form una dimensione in pixel di 200×200.
QWidget w;
w.resize(200, 200);
A tal punto, creiamo un bottone, che ci servirà come metto per chiudere la nostra applicazione. Per farlo instanziamo la classe QPushButton. Instanziando la classe, diamo come parametri al suo costruttore il nome che sarà visualizzato nel tasto (primo parametro) e l’indirizzo dell’oggetto che ospita il nostro bottone, ovvero la form (secondo parametro). Poi, diamo anche le dimensioni di larghezza e altezza del tasto (primo e secondo parametro) e la posizione sulla form (terzo e quarto parametro); il tutto grazie alla funzione setGeometry(…);
QPushButton btn(“Esci”, &w);
btn.setGeometry(50, 50, 85, 85);
Adesso, non ci resta che rendere visibile la nostra interfaccia grafica, associare un’azione al bottone (ovvero quella di chiudere l’applicazione) e infine mandiamo in esecuzione l’applicazione, ovvero l’oggetto a, instanziato all’inizio dalla classe QApplication.
QObject::connect(&btn, SIGNAL(clicked()), &a, SLOT(quit()));
return a.exec();
}
L’azione al bottone, come potete vedere dal codice soprastante, viene data per mezzo l’uso dei SIGNALS e SLOTS, che per spiegarli in maniera efficiente avremmo bisogno di un altro articolo abbastanza lungo. In poche parole vi basta sapere che in quel caso, il segnale è mandato dal bottone, e lo slot ricevente è l’applicazione, che è proprio colei che riceve il segnale di chiusura.
Provate quindi a unire tutte le righe di codice in un unico file .cpp ed eseguirlo tramite con Ctrl+R se state usando QT Creator IDE, oppure lanciate i seguenti comandi una volta posizionati dentro la cartella del progetto:
qmake -project
qmake
make
Quindi, lanciate l’applicazione, e notate l’effetto finale

No comments yet
Feed dei commenti di questo articolo