réponse de Torsten est correct, mais un peu incomplète, donc dans l'esprit de http://xkcd.com/979/ voici la procédure que je récemment installé sur après beaucoup d'essais et d'erreurs:
yada.glade Open in concepteur d'interface Glade. Allez dans edit-> project et changez le type de projet en GtkBuilder et assurez-vous qu'il cible la dernière version (2.24 à ce jour). Enregistrez le fichier, en étant sûr qu'il enregistre au format GtkBuilder, et changer le nom de yada.glade à yada.ui
yada.py Ouvrir et modifier le code suivant:
gladefile = relativize_filename(os.path.join("glade", "yada.glade"))
self.wTree = gtk.glade.XML(gladefile, self.windowname)
à:
uifile = relativize_filename(os.path.join("glade", "yada.ui"))
self.wTree = gtk.Builder()
self.wTree.add_from_file(uifile)
changer de même toutes les instances de self.wTree.get_widget(...)
à self.wTree.get_object(...)
Changement self.wTree.signal_autoconnect(dic)
-self.wTree.connect_signals(dic)
012 Si votre code dépend du nom attribué au widget dans le concepteur d'interface, remplacez widget.get_name()
par gtk.Buildable.get_name(widget)
. widget.get_name()
renvoie maintenant juste le type de widget. EDIT: Vous devez également modifier widget.set_name('my_widget')
à gtk.Buildable.set_name(widget, 'my_widget')
.
Supprimer import gtk.glade
J'ai trouvé de nombreux signaux inutilisés définis dans le fichier xml yada.ui, je devais ouvrir le fichier xml et les supprimer manuellement pour éliminer les avertissements qu'ils ont causés.