繁体   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