2009-11-22 7 views
8

Sono uno sviluppatore web che cerca di bagnarmi i piedi con la codifica di una piccola applicazione desktop per Ubuntu in Python. Ho setacciato il web alla ricerca dei pro e dei contro di PyGTK vs PyQT e non riesco a trovare alcun buon confronto.PyGTK o PyQT sono preferiti per creare app Python native di GTK?

Cosa ne pensate? Producono entrambi widget dall'aspetto nativo su un sistema GNOME? È più facile da usare rispetto all'altro? Qualsiasi opinione sarebbe carina.

Ci scusiamo per la domanda soggettiva.

risposta

11

Ho scritto app ragionevolmente grandi in PyGTK e PyQt. A conti fatti, la mia opinione personale è che PyQt è superiore, ma non così tanto che vale la pena preoccuparsi. Se sei solo preoccupato di supportare Ubuntu, quindi usa PyGTK; darà un aspetto migliore. Se pensi che potresti voler portare questa app su altre piattaforme, usa PyQt; PyQt è di gran lunga la soluzione crossplatform superiore.

5
  1. L'applicazione PyGTK apparirà più nativa su un sistema Gnome. L'applicazione PyQt apparirà più nativa su un sistema KDE.
  2. Come ho trovato PyGTK ha una documentazione migliore di PyQt.
  3. Ci vorrà lo stesso tempo per scrivere un programma su PyQt e PyGTK.
+0

Nessuna preferenza per il codice/sintassi effettivo di uno rispetto all'altro? –

+1

In entrambi i casi lo farà con il codice python e la sintassi python. :) – demas

1

Nella mia esperienza, dopo aver fatto entrambe le applicazioni pygtk e PyQt, c'è poca differenza sul lato programmazione di fondo delle cose. PyQT sembra più coerente tra i diversi tipi di Linux, dove GTK cambia continuamente e si infrange sulle vecchie distribuzioni.

PyQT ha QTCreator, che è un ottimo progettista GUI. PyGTK ha Glade3, che sta migliorando, ma non altrettanto bene. Fino a poco tempo fa Glade era un brutto scherzo. Se hai bisogno di disegnare GUI in un editor, PyQT è probabilmente la scelta migliore. Altrimenti, andrei con PyGTK per la codifica perché la documentazione PyGTK online è eccellente.

Una cosa bizzarra che ho trovato è PyQT ha scarso supporto per i richiami di voci di menu dinamici. Forse non l'ho usato bene, ma PyGTK è un po 'più flessibile in confronto.

È una scelta difficile, davvero. Ma se progetti correttamente la tua applicazione, l'interfaccia dovrebbe essere irrilevante; si potrebbe progettare la vostra applicazione con interfacce multiple ...

1

A mio parere l'uso PyQt come il suo sicuramente superiore per un paio di motivi. Non ci sono mai problemi con le pixmap, c'è solo una libreria codificata nello stesso stile e con le stesse convenzioni. In pygtk devi imparare fino a 4 librerie codificate in uno stile diverso. Devi imparare le costanti GLIB almeno se non i nomi delle variabili GLIB e anche se sono uno scambio completo da 1 a 1 con lo stesso tipo di stdlib C, ma perché usare i tipi standard che chiunque altro usa quando è il master del tuo toolkit che puoi usare tipi di scopi speciali piuttosto inutili che possono essere forzati su tutti gli altri. Gli sviluppatori di Gnome hanno bisogno di un serio risveglio.

andare con la sua PyQt sano facile da usare e di solito ti fanno costantemente guarda fino documentazione per scoprire il motivo per cui non puoi utilizzare il codice standard.

+0

Nome variabile? Intendi nomi di tipi come 'gint'? In realtà non devi usare quelli. – ptomato