Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Getting Started Programming with Qt/it: Difference between revisions
AutoSpider (talk | contribs) (Convert ExpressionEngine section headers) |
m (Wieland moved page Gettingstartedqt italian to Getting Started Programming with Qt/it: Proper localization) |
(No difference)
|
Latest revision as of 18:35, 28 June 2015
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
Iniziare a programmare con Qt
Benvenuti nel mondo Qt—il toolkit multipiattaforma per applicazioni GUI. In questa guida introduttiva, insegnamo le conoscenza di base di Qt implementando una semplice applicazione Notepad. Dopo aver letto questa guida, dovresti essere in grado di approfondire nelle nostre overview e nella documentazione delle API, e trovare tutte le informazioni che ti servono per sviluppare la tua applicazione.
Hello Notepad
In questo primo esempio , creiamo e mostriamo una casella di testo in una finestra sul desktop. Questo rappresent ail programma Qt più semplice con interfaccia grafica GUI.
Ecco qui il codice:
#include <QApplication>
#include <QTextEdit>
int main(int argv, char **args)
{
QApplication app(argv, args);
QTextEdit textEdit;
textEdit.show();
return app.exec();
}
Addentriamoci nel codice linea per linea. Nelle prime due linee, includiamo i file header per QApplication e per QTexrEdit, che sono le due classi di cui abbiamo bisogno per questo esempio. Tutte le classi Qt hanno un file header nominato come la classe.
La linea 6 crea un oggetto di tipo QApplication. Questo oggetto gestisce tutte le risorse dell'applicazione ed è necessario per far funzionare un programma Qt con GUI. Vanno passati argv e args a questo oggetto perché Qt accetta alcune opzioni da linea di comando.
La linea 8 crea un oggetto QTextEdit. Una casella di testo è un elemento grafico della GUI. In Qt, chiamiamo questi elementi widget. Esempi di altri widget sono le barre di scorrimento, le etichette e i bottoni di selezione. Un widget può anche essere un contenitore per altri widget; una finestra di dialogo o la finestra principale dell'applicazione, per esempio.
La linea 9 mostra la casella di testo sullo schermo all'interno del riquadro della sua stessa finestra. Visto che i widget funzionano come contenitori (per esempio una QMainWindow, che ha la barra degli strumenti , i menu, una barra di stato e qualche altro widget), è possibile mostrare un widget singolo nella sua finestra. I widget non sono visibili di default; la fuunzione show() rende il widget visibile.
La linea 11 fa partire l'event loop delle QApplication. Mentre un'applicazione Qt è in esecuzione, gli eventi vengono generati e inviati ai widget dell'applicazione. Esempi di eveti sono la pressione del mouse o della tastiera. Quando scrivi del testo nel widget della casella di testo, questa riceve gli eventi della pressione dei tasti e risponde disegnando il testo a schermo.
Per eseguire l'applicazione, apri una console di comandi, e entra nella cartella in cui avete eil file.cpp del programma. I seguinti comandi da shell compilano l'applicazione.
qmake -project
qmake
make
Questo produrra un eseguibile nella cartella part1 (nota che su Windows, si deve usare nmache invece che make. Anche l'eseguibile sarà posozionato nelle cartelle part1/debug o part1/release). qmake è uno strumento di compilazione per Qt, che prende un file di configurazione. qmake genera questo file per conto nostro se viene aggunta l'opzione -projecr. Ottenuto il file di configurazione (suffiso .pro), qmake genera un file Makefile che compilerà il programma per te. Indagheremo più tardi su come andare a mettere le mani all'inetno del nostro file .pro.
Approfondisci
Cosa | Dove |
geometria delle finestre e dei widget | Finestre e Widget di dialogo |
eventi e gestione degli eventi | Il sistema ad eventi |