Tutorial su wxPython

Marco Barisione


Capitolo 10

Finestre di dialogo comuni




wxFileDialog

Nelle proprie applicazioni è frequente l'uso di finestre di dialogo standard come quella usata per aprire/salvare i file; il vantaggio dell'uso di queste finestre consiste nel non dover riscrivere inutilmente codice e in più avere un'interfaccia grafica familiare e quindi più semplice da usare per l'utente.

01: dlg = wxFileDialog(None, "Scegli un file", ".",
02:                    "nome file di default.txt",
03:                    "File di testo (*.txt)|*.txt|Tutti i file|*.*",
04:                    wxOPEN)
05: if dlg.ShowModal() == wxID_OK:
06:     wxMessageBox("Il file scelto è " + dlg.GetFilename() +
07:                  "\nIl percorso completo è " + dlg.GetPath())
08: # Ricordatevi sempre di distruggere la finestra!
09: dlg.Destroy()
esempio 10.1 [visualizza esempio completo]

Alla linea 4 viene creata la finestra, i parametri sono: Alla linea 5 la finestra viene mostrata all'utente e l'esecuzione si blocca fino a quando non viene chiusa, il valore ritornato è wxID_OK se è stato premuto il tasto "OK" o wxID_CANCEL se è stato premuto "Annulla".
Alla linea 7 viene visualizzato il nome del file scelto per ottenere il nome si usano le funzioni GetFilename e GetPath che restituiscono rispettivamente il nome del file senza directory (ad es. "pippo.txt") e il nome del file completo (ad es. "c:\documenti\pippo.txt"). Se invece viene specificato lo stile wxMULTIPLE i file selezionati possono essere più di uno, in questo caso è necessario usare le funzioni GetFilenames e GetPaths che restituiscono una lista di file.


immagine 10.1

torna ad inizio pagina



wxDirDialog

Quando non è più necessario scegliere un file ma una directory viene usata un altra finestra, gestita dalla classe wxDirDialog.

01: dlg = wxDirDialog(None, "Scegli una directory")
02: if dlg.ShowModal() == wxID_OK:
03:     wxMessageBox("La directory è " + dlg.GetPath())
04: dlg.Destroy()
esempio 10.2 [visualizza esempio completo]

Anche l'uso della classe wxDirDialog è molto semplice, i parametri del costruttore sono la finestra genitore, il testo, la directory di partenza, lo stile (inutilizzato, deve essere 0) e la posizione.
Dopo la creazione la finestra viene utilizzata come wxFileDialog e per ottenere la directory selezionata si usa il metodo GetPath (linea 3).


immagine 10.2

torna ad inizio pagina



Altre finestre di dialogo comuni

wxPython offre altri tipi di finestre che sono meno utilizzate e quindi non verranno trattate in modo esteso ma solo elencate:
torna ad inizio pagina