Tutorial su wxPython

Marco Barisione


Capitolo 5

Finestre di dialogo




wxDialog

Le finestre di dialogo sono delle finestre (generalmente con una barra del titolo) usate per mostrare informazioni o per richiedere input all'utente o più in generale quando serve una finestra che contenga altri controlli.
Le finestre di dialogo possono essere modali (modal) e non modali (modeless), se la finestra è modale viene bloccata l'esecuzione del resto del programma fino alla sua chiusura.

01: dlg = wxDialog(frame, -1, "Finestra di dialogo")
02: dlg.ShowModal()
esempio 5.1 [visualizza esempio completo]

Alla linea 1 viene creata la finestra di dialogo, gli argomenti sono gli stessi usati per creare altri tipi di finestra, cioè la finestra genitore (nell'esempio supponiamo che esista già una finestra chiamata frame), l'id, il titolo.
Alla linea 2 viene mostrata la finestra modale, il flusso del programma si blocca fino a quando la finestra viene chiusa con il tasto di chiusura in altro a destra.


immagine 5.1

Le finestre non modali sono uguali alle finestre modali ma non bloccano l'esecuzione del programma quando sono visualizzate, infatti l'esempio seguente è identico a quello per le finestre modali eccetto per il fatto che la finestra è visualizzata con  Show (di cui si è già parlato in precedenza).


01: win = wxDialog(frame, -1, "Finestra non modale")
02: win.Show(1)
esempio 5.2 [visualizza esempio completo]

torna ad inizio pagina



wxMiniFrame

wxMiniFrame non è una vera finestra di dialogo ma è derivata da wxFrame, il suo uso può essere però simile a quello di una finestra di dialogo non modale, caratterizzata però generalmente da una barra del titolo più piccola.

01: mf = wxMiniFrame(frame, -1, "wxMiniFrame",
02:                  wxDefaultPosition, wxSize(200, 100),
03:                  wxDEFAULT_FRAME_STYLE|
04:                  wxTINY_CAPTION_HORIZ)
05: mf.Show(1)
esempio 5.3 [visualizza esempio completo]




immagine 5.2

Possiamo vedere la finestra così creata nell'immagine 5.2, notiamo però che lo sfondo è dello stesso colore del frame principale (generalmente grigio scuro), per rendere lo sfondo come quello di una finestra di dialogo normale e potervi aggiungere dei controlli è necessario usare un wxPanel come vedremo più avanti.
torna ad inizio pagina