2014-08-28 53 views
1

我有幾個輔助函數用於定義特殊的GObjects。這些函數應該在class_init期間調用。我試圖直接從python定義這些對象。在PyGObject的類初始化期間可以訪問類結構嗎?PyGObject中的類init

例如:

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

是否有可能在PyGObject類初始化期間訪問類結構?

當前不是。 GObject類的初始化和實例初始化支持可能會在3.15/16版本中添加,以支持GTK +複合模板。

請參閱:https://bugzilla.gnome.org/show_bug.cgi?id=701843(其中有補丁)。作爲一個方面說明,你應該能夠使用__init __()或甚至允許訪問Python類的元類來完成純Python中的任何事情,除非你的「輔助函數」是用C語言編寫的,而且需要GObject類結構。