2010-09-21 13 views
7

L'ultima volta che l'ho visto, le GUI in Python erano estremamente brutte, com'è oggi?Come è oggi lo sviluppo della GUI Python (settembre 2010)?

(visto alcune belle immagini su google immagini, ma non so se sono davvero Python)

+2

È brutto se usi Tk. Ma non devi usare Tk. – kennytm

+0

@KennyTM: Posso creare GUI di aspetto gradevole con Tkinter - il problema ha più a che fare con l'abilità del programmatore rispetto al toolkit IMO. –

+2

Le GUI decenti in Tk sono possibili, ma molto più lavoro rispetto ad es. in PyQt/PySide. I widget Qt sembrano molto buoni, pronti per l'uso, su ogni piattaforma principale. – delnan

risposta

7

Python 2.7 e 3.0 viene fornito con il tk a tema ("TTK") i widget che sembrano molto meglio rispetto alle versioni precedenti di Tk (anche se, onestamente, qualsiasi sviluppatore di GUI competente può far sembrare buono Tk ancora più vecchio). Non lasciare che le persone che non sanno molto di Tk ti influenzino dal suo utilizzo, è comunque un toolkit molto valido per molte, molte attività. Non creerai un clone di Photoshop con esso, ma quante persone scrivono comunque questi tipi di app?

Ho usato wxPython per l'anno scorso e sceglierei Tkinter per la maggior parte delle attività. Tkinter è molto più semplice e per molti aspetti più potente. L'unico vantaggio di wxWidgets è che ha più widget incorporati, ma trovo che molti di essi siano un po 'buggati e difficili da usare. Per la maggior parte delle app che la maggior parte delle persone scriverà, Tkinter è ancora una scelta eccellente.

Alcuni screenshots di widget a tema sono disponibili qui:

http://code.google.com/p/python-ttk/wiki/Screenshots

Ecco uno screenshot di un'applicazione Tkinter che utilizza i widget a tema su Mac:

http://www.codebykevin.com/phynchronicity-running.png

1

Python ha associazioni per Tk, Qt, GTK, wx, e molti altri. Non c'è motivo per cui dovrebbe essere più brutto di un'altra lingua. Probabilmente stai pensando a una gui fatta con Tk, che ha la reputazione di essere brutto. Non è specifico per Python, ma potrebbe essere più comune perché è molto semplice e viene fornito con python per impostazione predefinita.

Vedere Gui Programming sul wiki python per maggiori informazioni.

+0

+1 per lo strappo su Tk :) – Randolpho

+0

-1 per lo strappo su Tk. Le versioni moderne di tk sembrano abbastanza belle e usano widget nativi quando possibile. Il meme "tk è brutto" non è così rilevante oggi come lo era 5 anni fa. –

+0

@Bryan Oakley: Meglio? Non l'ho usato personalmente, solo roba fatta in esso che è invariabilmente orribile. Non avevo capito che era migliorato – Daenyth

2

Tk is sill è il toolkit GUI predefinito per Python, ma ha un supporto per i temi da Python 2.7/3.1. Non è così brutto come prima.

Tuttavia, è possibile utilizzare alcune belle alternative che ancora guardare meglio (secondo me) e hanno più funzionalità:

  • wxPython: forse il più utilizzato, cross platform e tutti, le applicazioni avranno lo stesso aspetto come nativo .
  • PyQt o presto PySide: collegamenti per il framework open source Nokia Qt. C'è molto più di un semplice toolkit GUI.
  • PyGTK: binding per le librerie GTK +

Ecco ulteriori informazioni: http://wiki.python.org/moin/GuiProgramming

+1

"Tk sembra ancora brutto" è molto soggettivo. Sei a conoscenza del supporto dei widget tematici nelle versioni moderne di Tk? –

+0

Scusa non lo ero. Ho appena visto un'altra risposta. La versione fornita con il mio Python 2.6 non ce l'ha. Devi usare Python 2.7 o 3.1 per avere il supporto per i temi. Ho modificato la mia risposta. –

1

Penso che la l'ultima versione di Tkinter offre il look nativo per Macos. WxPython e QT offrono l'aspetto nativo per macos, windows e linux. GTK è un po 'brutto e soggetto a crash su Mac a causa del suo impianto X11.

Ovviamente è possibile creare la propria GUI, quella cosa che sto cercando di fare con pygame. Mi chiarisco, non sto facendo una libreria GUI solo per la mia applicazione. Sto facendo la grafica nell'app 3d Blender.

Il mio voto per la GUI generica va a wxPython, l'ho provato, è bello, facile da usare e funziona come un fascino tra le piattaforme.Troverete anche tonnellate di informazioni su di esso. Si integra bene con l'opengl, quindi se vuoi fare delle analisi estreme su di esso, può farlo.

+1

Per quanto ne so, le ultime versioni di Gtk non richiedono più X11 su Mac OS X, ma utilizzano invece i widget nativi di Cocoa. – lunaryorn

+0

hmm sembra che tu abbia ragione, ci sono stati molti aggiornamenti dall'ultima volta che ho controllato. Grazie per aver portato questo alla mia attenzione, penso che darò a pyGTK un'altra prova ora. – Kilon

+1

Tkinter offre anche finestre native per Windows. Lo ha fatto per molti anni. –

Problemi correlati