Python graphique
Un article de Haypo.
Comment choisir entre Tk, Gtk+ et Qt ? Bonne question. Cet article tente d'aider à se décider et tente (hou là !) d'être objectif.
Sommaire |
[modifier] PyQt
Avantages :
- Apparence très jolie
- Bibliothèque extrêmement riche : support d'image SVG, intégration du moteur Webkit (HTML, CSS, Javascript, cookies, etc.), support du format XML, etc.
- Beaucoup de livres
- Réellement multi-plateforme : Windows, Linux, Mac OS X et des systèmes embarqués
Inconvénients :
- PyQt4 est sous licence GPL : empêche de faire du logiciel propriétaire
- PySide, autre binding Python de Qt, est en développement et est distribué sous licence LGPL
- PyQt peu documenté : c'est surtout la version originale (C++) qui est documentée
- Le binding Python est d'une qualité moyenne (surtout niveau documentation)
Outils :
- Linguist pour gérer les traductions
- QtDesigner pour dessiner les interfaces
[modifier] pygtk
Avantages :
- Communauté très active
- Les bibliothèques en dessous de pygtk (gtk, glib, pango, ...) sont robustes et très bien testées
- Licence LGPL (autorise la création de logiciel propriétaire)
- On peut charger l'interface à part (depuis un fichier XML), pygtk s'occupe tout seul de lier les signaux aux fonctions Python (autoconnect)
Inconvénients :
- Support Mac OS X (haypo : j'ai entendu que c'est pas terrible, quelqu'un peut confirmer ?)
Outils :
- Glade pour dessiner les interfaces
- Indirectement, tous les outils gettext pour gérer la traductions (ex: KBabel, poedit, ...)
[modifier] wxPython
Avantages :
- Très bon support des différentes versions de Windows (depuis Windows 95), supporte Linux, Mac OS X, mais aussi Windows CE
Inconvénients :
- Apparence plutôt vieillote qui s'intègre mal au bureau
Outils :
- wxDesigner : pour dessiner les interfaces, c'est un shareware.
[modifier] Tk
Avantages :
- Simple à apprendre, souvent donné en exemple dans les cours Python
- Intégré à Python : aucune dépendence supplémentaire
Inconvénients :
- Apparence plutôt moche
Outils : ?
[modifier] Autres
Il existe aussi :
- pygame : dédié à la création de jeux vidéos, est basé sur SDL
- turtle : outil simplissime pour dessiner
- curses : mode texte
- urwid : curses + unicode + widgets + souris

