Use glade with pygobject Gtk3

MP0 picture MP0 · May 12, 2011 · Viewed 7k times · Source

I am converting a script to use Gtk3 using the migration guide (Porting GTK2 to GTK3). I converted my import pygtk to a from gi.repository import Gtk and so on...

I'm stuck because the glade module was loaded from module gtk:

 import gtk
 import gtk.glade

but there's no way now to do that anymore.

Note that I would only need a replacement for gtk.glade.XML()...

Answer

MP0 picture MP0 · May 13, 2011

Well, the solution is pretty obvious, after calling to Gtk.Builder() one needs to convert the old glade interface with the gtk-builder-convert command to get the interface file in the right version.

 $ gtk-builder-convert myui.glade myui.ui

And then, in the python script:

 from gi.repository import Gtk
 builder = Gtk.Builder()
 builder.add_from_file("myui.ui")

Thanks to Riccardo.