如何在pygtk中创建没有参数的gsignal

3 投票
1 回答
766 浏览
提问于 2025-04-16 15:13

关于信号的创建,pygtk信号文档写得很清楚,但我却无法创建一个不带参数的信号。

我想要做的是定义一个信号(就像例子中那样)

class MyGObjectClass(gobject.GObject):
    __gsignals__ = {
      "some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE),
    }

然后调用这个信号:

self.emit('some-signal') # not passing any arguments

目前我无法做到这一点,因为gsignal_new的第三个参数是必填的,不能设置为None。

1 个回答

6

只需使用一个空的元组作为第三个参数。

__gsignals__ = {
  "some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ()),
}

撰写回答