Revue de détail

  • La revue sera rapide, j'ai testé uniquement GuiBuilder et Page
GuiBuilder
  • Anciennement nommé SpecTcl.
  • +1 : il permet de générer des interfaces proportionnelles (le principal intêret de Tk).
  • -1 : ne semble plus maintenu, le code généré est assez horrible.
  • -1 : les sources ne semblent pas disponibles


Page
  • +1 : propose pas mal de controles, y compris les ttk (thêmes pour tk)
  • +1 : le code généré est plus propre que celui de GuiBuilder
  • +/-1 : d'après la doc, adapté aux projets d'un seul écran (d'où le nom, je suppose). Mais on peut ruser bien sûr.
  • On trouve Page ici


IInstallation de Page

Prérequis
  • Comme d'habitude, je parle pour les possesseurs de Gentoo.
  • Il faut un Tk récent: au moins la version 8.5
    • Attention, c'est une version test pour l'instant. Je n'ai pas eu de problèmes en l'installant, cependant.

# eix dev-lang/tk
[I] dev-lang/tk
     Available versions:  8.4.15-r1 8.4.18 8.4.18-r1 (~)8.4.19-r1 (~)8.5.7 {debug threads truetype}
     Installed versions:  8.5.7(20:24:53 24.07.2009)(truetype -debug -threads)

  • Ce qui au passage va vous coller un Tcl d'un niveau de version à peu près équivalent.


  • Si vous n'étiez pas à niveau pour Tk, n'oubliez pas de recompiler Python avec le flag tk
  • Il vous faudra également la lib pyttk
    • Pour l'instant, disponible en version 0.3
    • On la trouve ici
    • Reprenez l'archive tgz, ça suffira.


Installation
  • Dépliez l'archive Page, obtenue sur le site officiel (url donnée plus haut).
  • Dépliez l'archive pyttk dans le répertoire racine Page.
    • Vous devez obtenir un sous-répertoire pyttk-0.3 (selon votre version de ''pyttk', bien sûr)
  • Lancez le script configure de Page, qui va positionner quelques variables dans le script de lancement de Page.
  • Editez le script de lancement de Page.
    • Ajoutez le chemin de pyttk, juste avant le exec
    • export PYTHONPATH="$PYTHONPATH":"$PAGE_HOME"/pyttk-0.3/
    • Cela permettra de tester le code Python au sein de Page.


Test avec code généré

  • Cela ne devrait pas vous poser de problèmes, il faut juste prendre garde à pyttk
  • Soit utiliser la variable globale python indiquant le chemin des modules:
    • export PYTHONPATH = chemin/vers/pyttk/
  • Soit utliser sys.path dans votre script Python.
    • sys.path donne l'emplacement des modules au script.

#à mettre au début du script Python
import sys
sys.path.insert (0, '/chemin/vers/pyttk/')

  • Attention : ce n'est pas une bonne idée que de modifier un fichier qui a été généré.
    • Il faudra donc passer par un fichier main qui importera à son tour les fichiers générés.
    • De toutes façons, vous devrez en passer par là pour écrire les fonctions de l'interface.


We thrash with all the rest

  • Et le reste ? demanda le jeune padahouane.
  • RTFM répondit Iota en se reprenant un pastis.