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

ale*_*xef 3 python signals pygtk gobject pygobject

PyGTK的信号文档是关于创造的信号很清楚,但我不能创建一个不带参数的信号.

我想要的是定义(如在示例中):

class MyGObjectClass(gobject.GObject):
    __gsignals__ = {
      "some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE),
    }
Run Code Online (Sandbox Code Playgroud)

然后打电话:

self.emit('some-signal') # not passing any arguments
Run Code Online (Sandbox Code Playgroud)

目前我不能这样做,因为gsignal_new的第三个参数是必需的,并且不能是None.

XOR*_*ist 6

只需使用空元组作为第三个参数.

__gsignals__ = {
  "some-signal": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ()),
}
Run Code Online (Sandbox Code Playgroud)