我有几个辅助函数用于定义特殊的GObject。应该在class_init期间调用这些函数。我试图直接从python定义这些对象。是否可以在PyGObject中的类初始化期间访问类结构?
例如:
from gi.repository import GObject
class Test (GObject):
...
foo = GObject.Property(type=str, default='bar')
# At this point is it possible to access the equivalent to
# klass in ns_test_class_init (NsTestClass *klass)?
...
def a_method (self):
...
答案 0 :(得分:1)
是否可以在PyGObject中的类初始化期间访问类结构?
目前不是。为了支持GTK +复合模板,可能会在3.15 / 16版本中添加GObject类init和实例初始化支持。
请参阅:https://bugzilla.gnome.org/show_bug.cgi?id=701843(其中包含补丁)。
作为旁注,您应该能够使用__init __()或者甚至可以访问Python类的元类来完成纯Python中的任何操作,除非您的“辅助函数”用C语言编写并且需要GObject类struct。