Python graphique

Un article de Haypo.

Retour à la page précédente Retour à Python

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

[modifier] Voir aussi