我无法使自定义小部件在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类,但是我不知道是否有这样的类。所以我的问题是:如何为自定义窗口小部件正确定义适配器?
答案 0 :(得分:0)
class FramedStackAdaptor(Gladeui.WidgetAdaptor):
def post_create(w, reason):
pass #something
应该让您入门