Uno sguardo a Qt designer

Scrivere interfacce grafiche non e' una cosa da ridere, disegnarle si'!
Il concetto dietro al favoloso programma che permette di disegnare interfacce grafiche per le librerie Qt, e' che le applicazioni grafiche sono costituiti di tanti elementi interagenti tra loro: le widget (o i widget? boh?!).

Widget in inglese significa grosso modo "aggeggio. robo", ma nel contesto della programmazione, detta molto alla buona, un(a) widget rappresenta qualsiasi elemento autoconsistente dell'interfaccia grafica: un bottone, uno slider, una spinbox, una combobox, un layout, ecc...

Le widget si possono combinare insieme per creare nuove widget piu' complesse: per esempio, se prendiamo una spinbox e colleghiamola ad uno slider in maniera tale da collegare la mutua variazione di uno all'altro, otteniamo una nuova widget.

L'interazione: il meccanismo signal-slot
L'interazione tra le widget contenute nell'interfaccia grafica avviene a livello di applicazione: tutte le volte che accade qualcosa (si preme un bottone, si digita del testo, una funzione fa qualcosa di interessante, ecc...)un segnale puo' essere emesso. Se una o piu' widget sono in ascolto di quel segnale (hanno uno slot connesso a quel segnale, nel lessico Qt) all'atto della ricezione possono decidere di fare qualcosa.

Cosa puo' fare designer?
In sostanza designer puo' fare principalmente due cose:
  1. disporre e organizzare le widget all'interno di un form (una finestra)
  2. mettere in comunicazione le widget
  3. utilizzare le funzioni predefinite delle widget
Cosa non puo' fare:
  1. creare nuove widget
  2. creare nuove operazioni che coinvolgano una o piu' widget

E dopo aver disegnato?
Dopo aver utilizzato qt designer potrete salvare il vostro form. L'estensione standard e' ".ui", che non e' altro che un file XML particolare. Cosi' com'e' non vi servira' a molto, anche se a volte puo' essere utile aprirlo con un editor di testo per modificarlo.
Questo file andra' incluso, previa opportuna "compilazione", nelle vostre applicazioni.
Per trasformarlo in codice Python potete usare il programma "pyuic4".

Il codice cosi' ottenuto e' utile che sia separato dal codice scritto in altri modi, visto che una modifica tramite qt designer andra' a sovrascrivere eventuale altro codice.

Nessun commento: