Bonjour je vous présente le projet sur lequel je suis en train de bosser : Kara-Tk.
Comme le titre l'indique c'est en fait un designer d'interfaces graphiques livrée avec Python : Tkinter.
Cette librairie plutôt sympa ne possède pas à ma connaissance de "What you see is what you get" et créer un GUI d'un bout à l'autre en ligne de code est très vite gonflant. Ne possédant pas la patience et le courage pour en développer un j'ai développé un truc alternatif. Ce n'est pas du dessing comme un wysiwyg classique. En fait on contrôle un arbre d'objet. Chaque objet possède des propriétés (Taille, apparence, position...etc), il y en a des dizaines pour chaque objet de Tk (Label, Button, Text, Entry...etc) et c'est 'hach'ment chaud de tous les connaitre. Heureusement Kara-Tk est là !
Comment ça marche ? C'est simple. On configure le programme dans le menu adéquat (path du python.exe, debug mode...etc). On crée un projet. On ajoute nos Widget (contrôles) dans le Tree View à gauche. On choisit les propriétés de ceux-ci. Ensuite on clic sur "Generate", le code python du GUI sera généré. On a plus qu'à cliquer sur "Test" pour voir un apperçu de notre GUI. Il ne vous rester plus qu'à ajouter le code des évènements derrière tout ça.
En créant son GUI sous Kara-Tk on gagne du temps certe mais le plus sympa est que l'on se retrouve avec un petit fichier .karatk que l'on peut réouvrir avec l'application. On a une joli vue d'ensemble sur l'imbrication des Widget les uns dans les autres. Donc à tout moment on peut revoir notre GUI et le modifier sans se replonger dans notre code de moultes lignes qui se ressemblent toutes.
Quelques screenshots :
(Image du programme)
(Image d'un GUI de calculette généré avec le programme)
Je vous met une archive qui contient une version démo de ce que j'ai fait pour le moment. Il y' a l'exécutable (n'oubliez pas de configurer avant d'essayer), un caltos.karatk qui est un le fichier qui permet de générer le GUI ci-dessus, et un caltos.py qui est le code précédent compléter pour faire tourner la calculette.
Voilà n'hésitez pas à me dire ce que vous en pensez.
J'oubliais de dire que le programme était écrit en VB.NET (tout simplement parce qu'il n'y a rien de mieux que lmes Winforms .NET pour créer ce genre de programme), le code sera dispo avec la version 1.0. Il vous faut Python2.5 et .NET 2.0 pour l'utiliser.
La version actuelle ne permet pas de créer tous les Widget de Tk ce n'est qu'un démo. Il n'y a même pas de release notes ou de readme. Les propriétés ne sont pas non plus documentées, elles le seront en version finale. M'enfin en bidouillant vous n'avez même aps besoin de connaitres Tk pour utiliser ce programme et dessiner un joli GUI.
LE LIEN
Partager