Pygtk

2008-09-15 13 views
7

'da yeni bir sinyal nasıl oluşturabilirim Bir python nesnesi oluşturdum ama üzerine sinyal göndermek istiyorum. Gobject.GObject'den miras aldım, ama nesnemde yeni bir sinyal oluşturmanın herhangi bir yolu yok gibi görünüyor. Geçen argüman ikinci dönüş tipi ve son argümanıPygtk

import gobject 

class MyGObjectClass(gobject.GObject): 
    ... 

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

argüman türleri başlık olur: Burada

cevap

11

Ayrıca sınıf tanımı içinde sinyaller tespit: tuple

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

içeriği gobject.signal_new için son üç bağımsız değişken olarak aynıdır. Eğer mevcut kivi here kullanırsanız

4

nasıl.

2

tıpkı senin yapabilirsiniz:

from kiwi.utils import gsignal 

class MyObject(gobject.GObject): 
    gsignal('signal-name') 
İlgili konular