簡體   English   中英

如何在 pygtk 中創建新信號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM