문제

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')
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top