In questi giorni mi sto occupando di sviluppare l’interfaccia grafica della nuova versione di SEPY, un editor scritto in Python utilizzato per gestire codice AS.

All’inizio ho optato per utilizzare nuovamente i widget nativi, dato che la libreria wxPython che utilizziamo per interfacciarci con il GUI Engine del sistema operativo risulta molto comoda in questi casi. Dopo qualche tempo però, ho voluto provare ad implementare manualmente alcuni widget, in modo da fornire loro un aspetto personalizzato ed accattivante.

Mi ero preparato a dover affrontare ore di lavoro per risolvere problemi di ogni genere, ed invece ho scoperto che l’obiettivo che mi ero prefissato non era affatto difficile da raggiungere. wxPython fornisce l’oggetto wxDC che può essere utilizzato in diverse situazioni al fine di disegnare immagini, testo e forme geometriche più o meno complesse su una finestra. Combinado questo oggetto con il sistema di eventi della libreria, sviluppare i miei widget è stato quasi un gioco da ragazzi.

Ho provato anche a far girare il programma su Linux e Mac OSX: ottimi risultati, omogeneità del layout e nessun errore!

All’interno della libreria wxPython è possibile trovare moltissimi esempi di widget personalizzati: wxOGL, libreria di cui recentemente è stato fatto il porting completo in Python, ne è un ottimo esempio. Anche il programma pySketch, incluso nei demo di wxPython, utilizza l’oggetto wxDC e le sue estensioni per visualizzare i disegni fatti dall’utente.

L’unica nota dolente è che purtroppo le cose si complicano nel momento in cui si ritiene necessario apportare delle ottimizzazioni al processo di rendering dei widget. Però questa è un’altra storia …

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *