Как создать адаптеры для пользовательских виджетов в Glade? - PullRequest
0 голосов
/ 09 февраля 2019

У меня проблемы с получением пользовательских виджетов для работы в Glade.Допустим, у меня есть собственный виджет, состоящий из стека в кадре.

class FramedStack(Gtk.Misc):
    def __init__(self):
        self.frame = Gtk.Frame()
        self.stack = Gtk.Stack()
        self.frame.add(self.stack)

Я могу добавить это в каталог Glade, и он отлично работает.Но теперь я хочу изменить поведение виджетов в Glade.Но как только я определяю адаптер

class FramedStackAdaptor():
    def do_post_create(self, w, reason):
        pass #something

и изменяю строку в каталоге, чтобы Glade знал об адаптере

<glade-widget-class title="FramedStack" name="FramedStack" adaptor="FramedStackAdaptor"/>

, я получаю предупреждение GladeUI

GladeUI-WARNING **: Failed to get FramedStack's adaptor FramedStackAdaptor.

Определение класса находится в том же файле, что и определение пользовательского виджета.Я предполагаю, что FramedStackAdaptor должен наследовать класс Glade Adapter, но я не могу понять, существуют ли такие классы.Итак, мой вопрос: Как правильно определить адаптер для моего пользовательского виджета?

1 Ответ

0 голосов
/ 06 июня 2019
class FramedStackAdaptor(Gladeui.WidgetAdaptor):
    def post_create(w, reason):
        pass #something

Должны ли вы начать

...