2014-08-28 2 views
1

저는 특별한 GObject를 정의하는 데 사용되는 몇 가지 도우미 함수가 있습니다. 이 함수는 class_init 중에 호출되어야합니다. 파이썬에서 이러한 객체를 직접 정의하려고합니다. PyGObject의 클래스 초기화 중에 클래스 구조체에 액세스 할 수 있습니까? 예를 들어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

이 PyGObject의 클래스 초기화하는 동안 클래스 구조체에 액세스 할 수 있습니까?

현재 로선 GObject 클래스 init 및 인스턴스 init 지원은 GTK + Composite Templates를 지원하기 위해 3.15/16 릴리스에 추가 될 것입니다.

참조 : https://bugzilla.gnome.org/show_bug.cgi?id=701843 (이 패치가 있음).

부수적으로, __init __()를 사용하여 순수 Python에서 거의 모든 작업을 수행 할 수 있어야합니다. 물론 "헬퍼 함수"가 C로 작성되지 않은 한 Python 클래스에 대한 액세스를 제공하는 메타 클래스도 가능해야합니다. GObject 클래스 구조체가 필요합니다.