qt: creare un layout per una applicazione python tramite qtcreator


Posted: marzo 11th, 2011 | Author: | Filed under: Guide, Programmazione | Tags: , , , , , , | 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!


3 Comments on “qt: creare un layout per una applicazione python tramite qtcreator”

  1. 1 Mte90 said at 16:03 on marzo 13th, 2011:

    è 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 :-)

  2. 2 Francesco Apollonio said at 16:14 on marzo 13th, 2011:

    mi fa piacere se ti sono utili, allora resta sintonizzato per i tutorial seguenti :) sto preparando quello sulla gestione dei segnali.

  3. 3 ldlabs.org – Blog » Blog Archive » PyQt: gestire i segnali dei vari widget said at 12:28 on marzo 28th, 2011:

    […] 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. […]


Leave a Reply

  • Articoli Recenti:

  • Tag

  • Categorie

  • Meta

  • Licenza Creative Commons

    Copyright © 2018, | ldlabs.org – Blog is proudly powered by WordPress All rights Reserved | Theme by Ryan McNair modified By Francesco Apollonio

    Smilla Magazine Il Bloggatore iwinuxfeed.altervista.org Feedelissimo - tecnologia WebShake - tecnologia