





Вот как:
import gobject
class MyGObjectClass(gobject.GObject):
...
gobject.signal_new("signal-name", MyGObjectClass, gobject.SIGNAL_RUN_FIRST,
None, (str, int))
Где предпоследний аргумент - это возвращаемый тип, а последний аргумент - это кортеж типов аргументов.
Вы также можете определять сигналы внутри определения класса:
class MyGObjectClass(gobject.GObject):
__gsignals__ = {
"some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (object, )),
}
Содержимое кортежа такое же, как у трех последних аргументов gobject.signal_new.
Если вы используете киви здесь, вы можете просто сделать:
from kiwi.utils import gsignal
class MyObject(gobject.GObject):
gsignal('signal-name')