pygtk에서 새 신호를 어떻게 생성합니까?
문제
Python 개체를 만들었지만 그 개체에 신호를 보내고 싶습니다.gobject.GObject에서 상속받았지만 내 개체에 새 신호를 생성할 방법이 없는 것 같습니다.
해결책
클래스 정의 내에서 신호를 정의할 수도 있습니다.
class MyGObjectClass(gobject.GObject):
__gsignals__ = {
"some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (object, )),
}
튜플의 내용은 마지막 세 인수와 동일합니다. gobject.signal_new
.
다른 팁
방법은 다음과 같습니다.
import gobject
class MyGObjectClass(gobject.GObject):
...
gobject.signal_new("signal-name", MyGObjectClass, gobject.SIGNAL_RUN_FIRST,
None, (str, int))
여기서 두 번째에서 마지막 인수는 반환 유형이고 마지막 인수는 인수 유형의 튜플입니다.
키위를 사용하는 경우 사용 가능 여기 당신은 할 수 있습니다 :
from kiwi.utils import gsignal
class MyObject(gobject.GObject):
gsignal('signal-name')
제휴하지 않습니다 StackOverflow