Développement d'Interfaces Utilisateur : créer un GUI
Une interface graphique (anglais GUI pour graphical user interface) est un dispositif de dialogue homme-machine.
Cette page est destinée à des développeurs autodidactes. L'auteur est conscient de ses grosses lacunes et il est très fâché avec la POO (les Class) !! Les scripts sont en python, mais glade peut être utilisé avec d'autre langage.
Sommaire
Glade
Ressources
- glade.gnome.org : Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment.
- parasite sert à débugger.
- Site du zéro sera notre bible, surtout l'exemple de l'éditeur de texte. Les variables et les commentaires dans le code sont en français.
- www.learningpython.com Part 1 et Part 2 du python de pro ! Créer en 2007 donc incompatible avec le glade3 actuel.
- python.developpez.com décrit toutes les fonctions python. Pour pro !
- www.overclock.net
Parasite
sudo apt-get install gtkparasite
Parasite est un debugger: If you've used Firebug, it's sort of like that, but for GTK+ applications.
EasyGui
Ressources
C'est un module python, mais c'est vraiment très simple à programmer.
C'est un wrapper de Tkinter. Les options d'affichage sont très limitées. Par exemple, il n'est pas possible de définir les tailles de fenêtres. Le nombre de fonctions est également limité. Son gros avantage est sa simplicité.
Installation
sudo apt-get install python-easygui
Exemple
Le hello wolrd avec:
import easygui as eg
import sys
while 1:
eg.msgbox("Hello, world!")
msg ="What is your favorite flavor?" title = "Ice Cream Survey" choices = ["Vanilla", "Chocolate", "Strawberry", "Rocky Road"] choice = eg.choicebox(msg, title, choices)
# note that we convert choice to string, in case # the user cancelled the choice, and we got None. eg.msgbox("You chose: " + str(choice), "Survey Result")
msg = "Do you want to continue?" title = "Please Confirm" if eg.ccbox(msg, title): # show a Continue/Cancel dialog pass # user chose Continue else: sys.exit(0) # user chose Cancel
Clutter
Je n'essaye pas, c'est trop loin du PEP 20: Zen of python