sabato 14 marzo 2009

Primo programma Qt - Convertitore

Avete scaricato Qt Creator di cui ho parlato nello scorso post?
Se no, MOLTO MALE!!!! Correte a scaricarlo immediatamente.

Se si, M O L T O B E N E!
Possiamo cominciare a vedere come funziona e come è facile creare programmini utili (o anche meno utili).

Oggi proveremo a creare un convertitore lira-euro, oramai non più utile ma che può essere molto utile per imparare qualche nozione di base su librerie grafiche.

Bene apriamo l'IDE e creaimo un nuovo progetto ( File->New->Qt4GuiApplication ) e chiamiamolo Convertitore e la classe di grafica MainWindow.

Automaticamente il nostro IDE avrà creato 4 file come in questa figura:


Ora creaimo i seguenti controlli:
  1. una label text con object name "valuta" e il testo (si cambia cliccandoci sopra due volte) "Lira";
  2. un push button con object name "ok_bt" e il testo "Converti";
  3. un line edit con object name "line" e nessun testo al suo interno.
Rinominiamo anche il testo della finestra in "Convertitore Lira-Euro".

Otteniamo in questo modo una finestra che assomiglia a questa:


Ora dobbiamo aggiungere la logica del programma all'interno dei file "mainwindow.h" e "mainwindow.cpp".

Apriamo il file mainwindow.h e fra gli attributi pubblici e privati inseriamo le seguenti linee:

void on_ok_bt_clicked();


L'IDE automaticamente collegherà questa funzione alla pressione del tasto "Converti" dell'interfaccia, l'importante è che abbia lo stesso nome "void on__clicked();"

Ora scriviamo il corpo del metodo nel file C++:

void MainWindow::on_ok_bt_clicked()
{

QString money = ui->valuta->text();

if(money == "Lira")
{
//Convertiamo le lire in euro
QString line = ui->line->text();

float numero = line.toFloat();
numero = numero / 1936.27;

QString a = QString::number(numero);

ui->line->setText(a);
ui->valuta->setText("Euro");
}
else
{
//Convertiamo gli euro in lire
QString line = ui->line->text();

float numero = line.toFloat();
numero = numero * 1936.27;

QString a = QString::number(numero);

ui->line->setText(a);
ui->valuta->setText("Lira");
}


}


Dobbiamo per forza usare gli oggetti QString che ci mette a disposizione Qt per prendere i dati dai controlli e reinserire i risultati.

Clicchiamo su e "come per magia" comparirà il nostro convertitore in tutto il suo splendore:



Questo è il punto di partenza per una marea di terre inseplorate. Diamo pure sfogo alla nostra fantasia.
Posta un commento