respuesta de Torsten es correcta, pero un poco incompleta, por lo que en el espíritu de http://xkcd.com/979/ aquí es el procedimiento recientemente que se establecieron en después de mucho ensayo y error:
yada.glade Abrir en Glade diseñador de la interfaz. Vaya a edit-> project y cambie el tipo de proyecto a GtkBuilder y asegúrese de que se dirija a la última versión (2.24 al momento de escribir esto). Guardar el archivo, asegurándose de que se guarda en formato GtkBuilder, y cambiar el nombre de yada.glade a yada.ui
yada.py Abrir y cambie el código siguiente:
gladefile = relativize_filename(os.path.join("glade", "yada.glade"))
self.wTree = gtk.glade.XML(gladefile, self.windowname)
a:
uifile = relativize_filename(os.path.join("glade", "yada.ui"))
self.wTree = gtk.Builder()
self.wTree.add_from_file(uifile)
cambiar del mismo modo todas las instancias de self.wTree.get_widget(...)
a self.wTree.get_object(...)
Cambio self.wTree.signal_autoconnect(dic)
a self.wTree.connect_signals(dic)
Si su código depende del nombre asignado al widget en el diseñador de interfaz, cambie widget.get_name()
a gtk.Buildable.get_name(widget)
. widget.get_name()
ahora solo devuelve el tipo de widget. EDITAR: También necesita cambiar widget.set_name('my_widget')
a gtk.Buildable.set_name(widget, 'my_widget')
.
Eliminar import gtk.glade
he encontrado numerosas señales no utilizados se definen en el archivo XML yada.ui, tuve que abrir el archivo XML y eliminarlos manualmente para eliminar las advertencias que causaron.