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)
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   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to