PyGObject中的类init

时间:2014-08-28 16:07:18

标签: python pygobject

我有几个辅助函数用于定义特殊的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):
    ...

1 个答案:

答案 0 :(得分:1)

  

是否可以在PyGObject中的类初始化期间访问类结构?

目前不是。为了支持GTK +复合模板,可能会在3.15 / 16版本中添加GObject类init和实例初始化支持。

请参阅:https://bugzilla.gnome.org/show_bug.cgi?id=701843(其中包含补丁)。

作为旁注,您应该能够使用__init __()或者甚至可以访问Python类的元类来完成纯Python中的任何操作,除非您的“辅助函数”用C语言编写并且需要GObject类struct。