Glade et fin du wiki Python
Soyons sérieux, je n'ai pas le temps pour tenir un wiki de qualité en parrallèle de mon blog (je n'ai pas soutenu la thèse qu'il puisse être de qualité d'ailleur ...)
Je vais donc copier coller le seul et unique tutoriel que j'avais fait et si j'ai quelque chose a dire je le dirais dans le blog comme j'ai toujours fait :)
Comme disais Alexis ROBERT dans un commentaire :
ya déja http://wikipython.flibuste.net/
Glade est une interface permettant de générer des fichiers XML. Ces fichiers XML représentent l’organisation de votre application graphique et constituent une base directement utilisable en python grace a gtk.glade.
On va voir ici comment se simplfier la vie ...
Créer une application graphique
Ici des astuces pour la création d’une interface avec screenshots et tout ...
Utiliser le fichier XML avec python
Pour utiliser le fichier glade généré, on peut créer un objet qui se charge de tout a notre place. On va agrémenter l’objet a mesure des besoins ...
Dans un premier temps il faut que cet objet puisse récupérer le fichier et connecter les évenements.
import gtk import gtk.glade class GLObject: def __init__(self,gladeFileName,rootWidget): self.widgets = gtk.glade.XML(gladeFileName,rootWidget,None) sig = {} for it in dir(self): sig[it] = getattr(self,it) self.widgets.signal_autoconnect(sig)
Il nous suffit alors de créer des objets, héritant de cette classe qui appellent le constructeur de la classe GLObject afin de se servir du fichier glade :
class wMain(GLObject): def __init__(self): GLObject.__init__(self,"path2glade.glade","wMain")
Ensuit il ne nous reste plus qu’a faire :
wMain() gtk.main()
et le tour est joué...

Comments
heuuu désolé j'arrive pas à le faire marcher ....
Heuuu désolé ton erreur est trop précise pour qu'on t'aide ... =)
Alors je me dis que les versions ont changé et tout ça ... j'installe donc glade sur ma feisty (sudo apt-get install glade) je fais un nouveau projet, j'y met une fenêtre avec un bouton ... Voici mon fichier xml :
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "glade.gnome.org/glade-2.0...
<glade-interface>
<widget class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="title" translatable="yes">window1</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="decorated">True</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<child>
<widget class="GtkButton" id="button1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">button1</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
</widget>
</child>
</widget>
</glade-interface>
Ensuite je fais du copié collé de ce qu'il y a plus haut et je l'adapte a mon fichier glade, je met le script project1.py dans le même dossier que le fichier project1.glade et ... allez je suis sympa je copie colle même le python :
#!/usr/bin/env python
import gtk
import gtk.glade
class GLObject:
def __init__(self,gladeFileName,rootWidget):
self.widgets = gtk.glade.XML(gladeFileName,rootWidget,None)
sig = {}
for it in dir(self):
sig[it] = getattr(self,it)
self.widgets.signal_autoconnect(sig)
class wMain(GLObject):
def __init__(self):
GLObject.__init__(self,"project1.glade","window1")
wMain()
gtk.main()
Et voila ... je lance et paf ... ça marche ... désolé je pense que ton problème n'a pas de solutions :p (je rigole hein ... si tu as plus de détails hésite pas a poster !!!!)