qt: creare un layout per una applicazione python tramite qtcreator
Posted: marzo 11th, 2011 | Author: Francesco Apollonio | Filed under: Guide, Programmazione | Tags: code tips, Guide, kde, python, pyuic, qt, qtcreator | 3 Comments »
Creare un applicazione grafica in Qt utilizzando python è un gioco da ragazzi se si ha lo strumento giusto: qtcreator!
L’applicazione permette di gestire un progetto completo in Qt e C++, aiutando nella composizione dei widget e nella creazione del layout desiderato, ma può tornare utile anche ad uno sviluppatore Python in quanto permette la creazione del file Ui, un xml contenente tutti i componenti organizzati in un determinato layout scelto dal programmatore.
Per prima cosa occorre ottenere l’ultima versione dell’SDK di Qt, esso può essere scaricato dal sito ufficiale Qt oppure dai repository debian installando il pacchetto qt-sdk. Non appena l’installazione è terminata avviamo il programma (il nome dell’eseguibile è qtcreator).
Come possiamo subito notare l’interfaccia del programma è intuitiva, nella parte sinistra ci sono tutti i vari widget che si possono inserire, nella parte destra un resonconto degli elementi già inseriti nella finestra e nella parte centrale c’è la finestra.
Andiamo nel menu ‘File-> New File or Project’, nella finestra che ci si apre scegliamo ‘Qt’ a sinistra (sotto la voce Files and Classes) e nella parte destra ‘Qt Designer Form’, dopo aver premuto su ‘Choose’ scegliamo ‘Main Window’ , la directory di salvataggio e il nome del file e andiamo avanti.
Ci troveremo in una finestra vuota, selezioniamo dal menu a destra un Vertical Layout (VL) e due Horizontal Layout (HL) da mettere all’interno del primo, ottenendo questa configurazione:
Questo ci permette di inserire uno o più oggetti (widget) o anche altri tipi di layout ordinandoli di conseguenza in base al tipo di layout selezionato.
Ora non ci resta che dar sfogo alla nostra fantasia e creare quello di cui abbiamo bisogno: per l’esempio inseriremo nell’HL in alto uno spaziatore (Horizontal Spacer) e tre bottoni (PushButton):
Come si nota bene dall’immagine, è possibile specificare in quale layout inserire un widget o trascinandolo nell’area delimitata da un HL o un VL oppure, quando magari uno dei due si sovrappone all’altro, portando il widget sulla barra rossa a destra/sinistra (se si vuole inserire un nuovo elemento in un HL) o in altro/basso (se si vuole inserire un nuovo elemento in un VL), facendo in questo modo, il bordo del layout nel quale viene inserito il widget si colora di blu.
Terminiamo ora il nostro layout aggiungendo gli elementi mancanti:
Salviamo ora il file. Dopo di che apriamo un terminale, installiamo il pacchetto pyqt4-dev-tools (ci serve pyuic4) e successivamente eseguiamo:
pyuic4 NOMEFILE.ui -o NOMEFILE.py
Ora il file python da includere nel nostro software è pronto.
In un prossimo articolo parleremo di come collegare i segnali generati dai nostri widget a handler appositamente creati.
A presto!











è molto semplice in effetti
io uso monekystudio che integra qtcreator e semplifica molto la cosa senza dover dare il comando e il resto.
Sto ancora imparando però sono tutorial utili per capire il processo
mi fa piacere se ti sono utili, allora resta sintonizzato per i tutorial seguenti
sto preparando quello sulla gestione dei segnali.
[...] Non ci soffermemo sulla sua creazione, è possibile scaricare il file UI insieme ai restanti sorgenti qui. Si suppone anche di aver già creato, tramite pyuic4, il file MainWindow_Ui.py. Se avete dubbi sia su come creare il layout sia su come utilizzare pyuic4 vi rimando al precedente articolo Creare un layout per una applicazione PyQt con QtCreator. [...]