2008-09-15 8 views

Répondre

11

Vous pouvez également définir des signaux à l'intérieur de la définition de la classe:

class MyGObjectClass(gobject.GObject): 
    __gsignals__ = { 
     "some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (object,)), 
    } 

Le contenu du tuple sont les mêmes que les trois derniers arguments à gobject.signal_new.

4

Voici comment:

import gobject 

class MyGObjectClass(gobject.GObject): 
    ... 

gobject.signal_new("signal-name", MyGObjectClass, gobject.SIGNAL_RUN_FIRST, 
    None, (str, int)) 

Lorsque le deuxième dernier argument est le type de retour et le dernier argument est un tuple de types d'arguments.

2

Si vous utilisez le kiwi disponible here vous pouvez simplement faire:

from kiwi.utils import gsignal 

class MyObject(gobject.GObject): 
    gsignal('signal-name') 
Questions connexes