Consigli Interfacce grafiche

In questa sezione cercheremo di rispondere ad alcune delle domande più frequenti che riguardano il mondo della programmazione.

/!\ Per passare subito alle caratteristiche di ogni tipo di GUi:



Perchè c'è bisogno di includere un'interfaccia grafica?

Da alcuni anni ormai il mondo dell'informatica è cambiato e a differenza di una decina di anni fa quando un computer era uno strumento usato "soprattutto" da un'elitè ristretta di persone, in particolare da programmatori o da aziende, oggi le cose sono cambiate e poichè l'utente medio non utilizza programmi "da terminale" o "da linea di comando" c'è questo "bisogno" di sviluppare un'interfaccia grafica per qualsiasi programma (anche per un semplice codice fiscale). Ovviamente sviluppare un'interfaccia grafica non deve essere un obbligo, piuttosto deve dipendere anche dall'applicazione o dal compito che un programmatore si prefigge di portare avanti.



E' giusto imparare subito le interfacce grafiche?

Secondo alcuni è giusto imparare a sviluppare subito le interfacce grafiche in modo che quando il programmatore si trova a scrivere un programma non si senta "spaesato" dal dover implementare una GUI per il proprio programma, piuttosto metta subito insieme codice "vero e proprio" e interfaccia grafica. Secondo altri invece è meglio imparare prima le basi, in modo che non si faccia troppa confusione. Naturalmente ciò dipende molto dal tipo di programmatore e, come già detto in precedenza, dalle proprie esigenze.


Qual è la più semplice per un nuovo programmatore in Python?

Molto probabilmente è la domanda più difficile da rispondere. Ma nonostante ci sia una vasta scelta, bisogna dire che per sviluppare delle GUI è possibile usare dei tool appositi, come Glade, QtDesigner, WxDesigner (quest'ultimo viene rilasciato in copia di valutazione). Tuttavia, è possibile scrivere il codice, naturalmente in Python, per ogni libreria grafica scelta. Solitamente per sviluppare una GUI è importante conoscere il paradigma object-oriented (OOP) per garantire un maggiore livello di astrazione e di ereditarietà tra gli oggetti.


Come faccio a sapere quali interfacce sono portabili?

La seguente tabella cerca di riassumere le caratteristiche (inclusa la portabilità) dei più famosi toolkit grafici.

GUI

Linux

Windows

MacOS

Descrizione

PyGtk(+PyGnome)

Sì(in parte)

Solo se viene eseguito un altro server X

E' un binding per le GTK (The Gimp ToolKit), ed è da poco diventato portabile (in parte) su Windows

PyQt

Solo OsX

PyQt è un binding per le Qt, un toolkit sviluppato da Troll Tech

Tkinter

Sì(per la maggior parte)

TkInter è il più vecchio toolkit grafico per Python. E' un binding per le Tcl/Tk. E' conosciuto per la sua semplicità e perchè è già implementato in Python

WxPython

No

WxPython è un binding per WxWindows, un'estensione dei toolkit Win32(Windows) e GTK(Unix)

FxPy

No

Uno dei più piccoli toolkit, un binding per FOX. E' noto per la sua velocità d'esecuzione

PythonWin

No

No

PythonWin, nonostante non sia documentato, è un'estensione delle librerie Microsoft MFC. Non portabile, naturalmente



PyGtk

Si tratta di un binding per le Gtk, per cui si integrano perfettamente con GNOME, uno dei Desktop Environment per Linux più diffusi.
Consigliate anche perchè sono abbastanza semplici. Si trova molta documentazione.

Qt

Tkinter

Sono integrate in Python. Per importarle infatti basta dare un import tkinter e cominciare a scrivere la propria interfaccia.
Sono multipiattaforma, ovvero possono essere eseguite su gran parte dei sistemi Unix, Windows e Mac.
Molto semplici da imparare. Si trova molta documentazione.

WxPython


IndiceDocumentazione/ConsigliGui (last edited 2008-01-26 19:00:16 by Markon)