[pygtk] GTK_IS_WIDGET on subclass of a widget fails
Neil Dugan
pygtk at butterflystitches.com.au
Fri May 22 15:21:23 WST 2009
Christian Becke wrote:
> Jeffrey Finkelstein schrieb:
>> I'm new to Gtk. I tried to create a subclass of an HBox and add it to a
>> window, but I get a GtkWarning telling me that the assertion
>> `GTK_IS_WIDGET()' fails on the instance of my subclass.
>>
>> For example:
>>
>> ===code===
>>
>> from gtk import Window, HBox, WINDOW_TOPLEVEL, main
>>
>> class FooBox(HBox):
>> def __init__(self): pass
>
> I think you have to call the constructor of the parent object here:
> def __init__(self):
> HBox.__init__(self)
wouldn't it be better to use
super(FooBox,self).__init__()
> and you have to make your new widget known:
> import gobject
> gobject.type_register (FooBox)
>
>> window = Window(WINDOW_TOPLEVEL)
>> window.add(FooBox())
>> window.show_all()
>> main()
>>
>> ===/code===
>>
>> yields a warning at "window.add()", namely "GtkWarning:
>> gtk_container_add: assertion `GTK_IS_WIDGET (widget)' failed". This
>> causes the widget to not be displayed in the window.
>>
>> I don't really understand why this is; am I missing a method call?
>
> Have a look at the gobject tutorial [1].
>
> HTH,
>
> Chris
>
> [1]
> http://www.sicem.biz/personal/lgs/docs/gobject-python/gobject-tutorial.html
> _______________________________________________
> pygtk mailing list pygtk at daa.com.au
> http://www.daa.com.au/mailman/listinfo/pygtk
> Read the PyGTK FAQ: http://faq.pygtk.org/
>
More information about the pygtk
mailing list