Пытаюсь написать гуевое приложение на Python3 и PyGObject (GTK3), не удается заюзать темплейты окон, нарисованные в Glade. Я использую класс приложения, отнаследованный от Gtk.Application
, где загружаю .glade с помощью self.builder = Gtk.Builder.new_from_file("app.glade")
, чтобы иметь хоть какой-то доступ к виджетам (не все окна в xml-ке являются шаблонами). Класс окна, к которому я хочу применить шаблон и добавить дополнительную логику, объявляется так:
@Gtk.Template(filename="app.glade")
class MyCustomWindow(Gtk.Window):
__gtype_name__ = "custom_class_template"
Для окна custom_class_template
флаг Composite
выставлен в Glade. При запуске получаю абсолютно ненагугливаемое сообщение:
(viewer.py:12345): Gtk-ERROR **: 20:23:07.588: failed to add UI: app.glade:20:1 Not expecting to handle a template (class 'custom_class_template', parent 'GtkWindow')
Как это вообще исправить? У меня слишком тухлый GObject, который не поддерживает шаблоны? Можно ли в принципе нарисовать UI в Glade, а потом запилить класс без костылей, или эта возможность заблокирована?