Tutorial su wxPython

Marco Barisione


Capitolo 2

Introduzione




Cosa sono wxWindows e wxPython?

wxWindows[link esterno] è un framework per C++ che offre accesso alla GUI (Graphical User Interface) e altre funzioni comuni a diversi sistemi operativi. I sistemi supportati sono MS Windows (16-bit, Windows 9.x e Windows NT), Unix con GTK+ o con Motif e Mac (quest'ultimo non è però ancora supportato da wxPython). Esiste anche un newsgroup[link esterno] in inglese su wxWindows.
wxPython[link esterno] è un package per Python che permette di utilizzare da Python buona parte delle funzioni di wxWindows, non esiste un newsgroup su wxPython ma esistono delle mailing list, l'elenco può essere trovato qui[link esterno].
torna ad inizio pagina



Perché utilizzare wxPython?

Esistono molte altre soluzioni, sicuramente la più conosciuta è Tkinter[link esterno]. Tkinter è però meno veloce, inoltre wxPython ha un look più nativo, è cioè difficile distinguere un'applicazione scritta con esso da una scritta usando le funzioni native della piattaforma.
wxPython offre inoltre un set di controlli molto vasto, oltre ai più comuni come pulsanti, combo box, tool bar vi sono anche controlli ad albero, la possibilità di utilizzare finestre di sistema (come quelle per salvare o stampare), un semplice browser e molti altri.
Ovviamente vi sono anche svantaggi, è leggermente meno stabile di altri framework e non è portabile su tutte le piattaforme (ad esempio non esiste ancora un port per Mac che è però in fase di sviluppo).
Va anche menzionato anygui[link esterno], un package generico (ancora in fase di sviluppo) in grado di gestire molto semplicemente la gui su un numero molto elevato di piattaforme appoggiandosi su altri framework (ad esempio lo stesso wxPython o Tkinter).
Per avere maggiori informazioni sulle diverse gui: www.python.it/gui/index.html[link esterno].
torna ad inizio pagina



La documentazione di wxPython

Un punto debole di wxPython era in passato la documentazione piuttosto scarsa e in comune con wxWindows, questo però può creare dei problemi a chi non conosce il C++ (potete trovare un breve tutorial in inglese su come capire comunque la guida di wxWindows qui[link esterno]).
La situazione è comunque migliorata ed è possibile trovare abbastanza documentazione in inglese, in particolare insieme a wxPython sono distribuiti dei demo che permettono di studiare il funzionamento dei controlli più comuni e possono essere un ottimo punto di partenza per uno studio più approfondito; se si conosce il C++ è inoltre possibile trarre informazioni anche dagli esempi in C++ forniti insieme a wxWindows (ma non compresi in wxPython).
Per quel che so invece in italiano non esiste nulla eccetto parte di un tutorial su wxPython tradotto da Giorgio Zoppi[link esterno].
torna ad inizio pagina



A chi è diretto il tutorial

Python è un linguaggio molto adatto a chi inizia a programmare, sarebbe quindi necessario avere documentazione in italiano e molto semplice sia per il linguaggio sia per i package più diffusi.
Questa guida è quindi diretta a chi ha non ha molta esperienza con Python e vuole una guida in italiano che spieghi tutto passo per passo.
torna ad inizio pagina



Come è organizzato il tutorial

Il tutorial è organizzato in capitoli per argomento, ogni capitolo comprende alcuni paragrafi che trattano argomenti più ridotti.
In ogni capitolo vi sono diversi esempi di codice la cui sintassi è evidenziata attraverso la colorazione (sono stati utilizzati i colori di idle). Alla fine di ogni listato è disponibile un link (indicato dalla scritta "[visualizza esempio completo]") ad uno script completo che può essere eseguito senza nessuna modifica.
Gli script sono commentati direttamente al loro interno o subito dopo se il commento deve essere più lungo e articolato.
Per scrivere questo tutorial ho utilizzato wxPython 2.3.2 con Python 2.2 su Windows XP ma non dovrebbero esserci problemi anche con versioni diverse di Python e wxPython (non troppo vecchie) e su altri sistemi operativi.
torna ad inizio pagina