[英]How do I create a new signal in pygtk
我創建了一個 python object,但我想在上面發送信號。 我讓它繼承自 gobject.GObject,但似乎沒有任何方法可以在我的 object 上創建新信號。
您還可以在 class 定義中定義信號:
class MyGObjectClass(gobject.GObject):
__gsignals__ = {
"some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, (object, )),
}
元組的內容與gobject.signal_new
的最后三個 arguments 相同。
方法如下:
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 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.