Используйте поляну с pygobject Gtk3

Я конвертирую script для использования Gtk3 с помощью руководства по миграции (Портирование GTK2 на GTK3). Я преобразовал import pygtk в from gi.repository import Gtk и так далее...

Я застрял, потому что модуль glade был загружен из модуля gtk:

 import gtk
 import gtk.glade

но теперь больше нечего делать.

Обратите внимание, что мне нужна замена только для gtk.glade.XML()...

Ответ 1

Ну, решение довольно очевидно, после вызова Gtk.Builder() нужно преобразовать старый интерфейс glade с помощью команды gtk-builder-convert, чтобы получить файл интерфейса в правильной версии.

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

И затем, в python script:

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

Спасибо Риккардо.

Ответ 2

Это должно работать

from gi.repository import Gtk
builder = Gtk.Builder()
builder.add_from_file("project.xml")