Kib's Memo

PyGtk vs PyQt4

Article numéro 27 écrit le vendredi 28 décembre 2007 à 22 h 17 min dans les catégories : PyGtk Qt4 Python

Attention!

Pensez à faire une update du flux RSS de cette page. J'ai dû en effet changer l'adresse de celle-ci pour des raisons persos.

J'ai récemment eû une discussion avec Armin Ronacher (que j'admire beaucoup soit dit en passant), et qui me demandait pourquoi je n'avais pas choisi PyGtk au lieu de PyQt4 pour coder PyK.

Selon lui PyGtk est un bon toolkit, bien pensé dans son architecture. Je suis tout à fait d'accord là-dessus, mais mon choix s'était fait suivant certains points :

  • J'ai adoré les démos fournies par Qt4, vraiment impressionantes;

  • Ma première interface graphique avait été réalisée il y a longtemps et se nommait TeXBases, avec Ruby + Gtk et j'en ai gardé des souvenirs cauchemardesques en ce qui concernait la doc de l'époque. Finalement, j'avais fini par la recoder en PyQt4.

  • J'ai découvert qu'il existait une alternative à Scintilla dans Qt4, celle-ci me permettrait de coder ma propre coloration syntaxique, mon folding, etc.; maintenant, avec du recul je peux vous affirmer que celle-ci est loin d'être au point (lenteur, incohérences, ). Bien sûr, je suis loin d'être un excellent codeur, mais même les bêtes de course sous Qt4 le disent et on voit plein de projets switcher d'un coup sous Scintilla tellement c'est abominable.

    Exemple : j'avais implémenté les numéros de ligne dans PyK. Résultat : affichage d'une lenteur inouie pour un fichier dépassant les 5 Ko ! Oui, on peut faire beaucoup de choses avec Qt4, mais pas ça (c'est faisable, mais toujours lent cependant en C++).

  • J'avais déjà réalisé reStInPeace et cela m'a aidé à coder PyK;

Cela ne signifie pas l'abandon de PyQt4 pour ma part, loin s'en faut; mais j' ai envie d'aller voir ailleurs un petit moment...ne serait-ce que pour pouvoir étendre les capacités d'autres logiciels communs sous Linux (GEdit, Vim,etc.).

Alors aujourd'hui je me suis mis à glâner divers renseignements sur PyGtk, et surtout des liens nouveaux et peu connus. C'est fou comme Gtk a évolué, notamment avec Glade3 dont l'interface ne ressemble plus à TheGimp. Dire qu'il a fallu des projets auxiliaires comme Gazpacho pour ça saute aux yeux de tout le monde !

J'aurai aussi certaines critiques à faire sur Gtk en général sur le peu que j'ai vu :

  • Glade 3 c'est bien, mais placer par défaut un GtkWindow en mode invisible me paraît vraiment complètement débile;
  • Certains widgets ne sont pas dans Glade 3 (GtkSourceView, GtkHTML,etc.);
  • Fautes de frappe dans Devhelp qui font perdre du temps. Exemple : set_tabs_width au lieu de set_tab_width.

J'ai donc mis à jour la colonne de liens sur ShadesOfPy, qui par la même occasion bénéficie d'un nouveau flux RSS pour ses articles. J'essaye dès que possible de poster quelques snippets sur ShadesOfPy concernant mes débuts sous PyGtk, ça peu être fun :).

Sur ce, à bientôt :

Kib².

Commentaires (Voir)