It seems __gsignals__ only works as user-defined signals in pygtk when
it is defined as a class attribute, isn't it?

在 2009-06-01一的 09:11 -0700,Chris Camacho写道:
> shouldn't you be setting set __gsignals__ in PluginObject.__init__ ?
>  
> --- On Mon, 1/6/09, Iven Day <ive...@gmail.com> wrote:
> 
> > From: Iven Day <ive...@gmail.com>
> > Subject: [pygtk] How can I inherit __gsignals__ attribute from a class?
> > To: pygtk@daa.com.au
> > Date: Monday, 1 June, 2009, 4:52 PM
> > Hi,
> >     I wrote a parent class like this:
> > 
> > class PluginObject(gobject.GObject):
> >     __gsignals__ = {
> >             "change-ui":
> > (gobject.SIGNAL_RUN_FIRST,
> >                
> >           gobject.TYPE_NONE,
> >                
> >      
> >    (gobject.TYPE_PYOBJECT,
> > gobject.TYPE_STRING,)),
> >                
> >    }
> >     def __init__(self):
> >         gobject.GObject.__init__(self)
> > 
> > , and a child class like this:
> > 
> > class PluginComboBox(gtk.ComboBox, PluginObject):
> >     def __init__(self, input_dict):
> >         PluginObject.__init__(self)
> >         gtk.ComboBox.__init__(self)
> >         ...
> >         self.connect("changed",
> > self.changed_cb, input_dict)
> >         self.set_active(0)
> >     def changed_cb(self, widget, data = None):
> >         model = self.get_model()
> >         index = self.get_active()
> >         self.emit("change-ui",
> > data.values, data[model[index][0]])
> > 
> > , but I got a
> > 
> > TypeError: <PluginComboBox object at 0x7f02c4c20690
> > (GtkComboBox at
> > 0x26e8010)>: unknown signal name: change-ui
> > 
> > It seems __gsignals__ isn't inherited, how can I get it
> > work?
> > Sorry for my english.
> > 
> > _______________________________________________
> > pygtk mailing list   pygtk@daa.com.au
> > http://www.daa.com.au/mailman/listinfo/pygtk
> > Read the PyGTK FAQ: http://faq.pygtk.org/
> > 
> 
> 
>       

_______________________________________________
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to