其他分享
首页 > 其他分享> > 如何在pygtk中创建没有参数的gsignal

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

作者:互联网

pygtk signal documentation非常清楚信号创建,但我无法创建不带参数的信号.

我想要的是define (like in the example)

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.

解决方法:

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

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

标签:python,pygobject,signals,gobject,pygtk
来源: https://codeday.me/bug/20190827/1736417.html