Torsten Antwort ist richtig, aber ein wenig unvollständig, so im Geiste der http://xkcd.com/979/ hier ist das Verfahren, ich vor kurzem nach viel Versuch und Irrtum ließ sich auf:
öffnen yada.glade in Glade Interface-Designer. Gehen Sie zu Bearbeiten-> Projekt und ändern Sie den Projekttyp in GtkBuilder und stellen Sie sicher, dass es auf die neueste Version abzielt (2.24 zum Zeitpunkt der Erstellung). Speichern Sie die Datei, sicher zu sein, dass es in GtkBuilder-Format speichert, und ändern Sie den Namen von yada.glade yada.ui
öffnen yada.py und ändern Sie den folgenden Code ein:
gladefile = relativize_filename(os.path.join("glade", "yada.glade"))
self.wTree = gtk.glade.XML(gladefile, self.windowname)
zu:
uifile = relativize_filename(os.path.join("glade", "yada.ui"))
self.wTree = gtk.Builder()
self.wTree.add_from_file(uifile)
ändern Ähnlich alle Instanzen von self.wTree.get_widget(...)
zu self.wTree.get_object(...)
ändern self.wTree.signal_autoconnect(dic)
-self.wTree.connect_signals(dic)
Wenn Ihr Code vom Namen abhängt, dem das Widget im Schnittstellendesigner zugewiesen wurde, ändern Sie widget.get_name()
in gtk.Buildable.get_name(widget)
. widget.get_name()
gibt jetzt nur den Widget-Typ zurück. BEARBEITEN: Sie müssen auch widget.set_name('my_widget')
zu gtk.Buildable.set_name(widget, 'my_widget')
ändern.
löschen import gtk.glade
ich zahlreiche nicht genutzte Signale definiert in der yada.ui XML-Datei gefunden, hatte ich die XML-Datei zu öffnen und sie manuell die Warnungen sie zu eliminieren löschen.