Même si la ligne de commande est un outil surpuissant, une interface graphique (GUI) peut s'avérer très pratique pour certains. Puisque j'aime bien bidouiller de petits outils en python, j'en suis arrivé à la question : qu'utiliser pour réaliser un GUI ?
J'ai donc découvert pygtk et wxwidgets... Et m'y suis cassé les dents.

En effet, ces deux bibliothèques sont très et même trop complètes. Par ailleurs, installer de si grosses dépendances pour juste quelques petits outils, ça me cassait les pieds. J'ai définitivement laissé tombé l'idée de maîtriser GTK quand j'ai vu le code du 3hg-menu. C'était totalement différent dans les widgets que ce que j'avais pu découvrir en écrivant le handymenu. Quelle plaie de voir des "deprecated" dans ses programmes, et ne pas trouver de la documentation à jour !

Après avoir perdu du temps avec GTK, je me suis tourné vers la bibliothèque Tk que j'avais pu croiser auparavant. Et aujourd'hui, je suis convaincu que c'est la plus adaptée à mes besoin, à la fois simple et puissante. Pour apprendre à programmer, elle est à mon avis la plus pratique.

J'ai donc envie de publier quelques billets sur le sujet, à commencer par celui-ci.

Pourquoi TkInter me paraît être le meilleur choix ?

  • Il est disponible pour python, on profite donc de la syntaxe si agréable.
  • Il est léger, donc rapide.
  • Il est bien pensé et permet de rapidement créer une interface graphique.
  • Il dispose de tout ce dont on peut avoir besoin sans pour autant être trop fournit au risque de se perdre en chemin. Il manque peut-être le sypport de l'icône de notification (systray), mais on peut arranger ça (on y reviendra).
  • Il est stable, en particulier dans le sens où la sytaxe et la façon de l'utiliser n'est pas prête de changer. Ce n'est pas le cas de GTK par exemple, avec des modules très vite dépréciés... Car c'est très pénible de devoir réécrire une application parce que le toolkit graphique a mal évolué.
  • Il est multi-plateforme.

On peut tout de même noter que visuellement, tkinter n'est pas très beau. Cela peut toutefois s'améliorer. Je fais cependant passer la "beauté" d'une interface après son utilité.

En attendant le prochain article qui parlera de l'installation de tkinter, voici quelques références à avoir sous le coude :

ps : blague pourrie générée avec GéGé