2012-11-06 1 views
15

저는 C++에서와 같이 QML의 전용 속성과 같은 개념 접근 지정자가 있는지 알고 싶습니다.QML은 속성에 대해 Private과 같은 액세스 지정자를 지원합니까?

내 QML 구성 요소에 약 10 개의 속성이 있지만 2 개의 속성에만 액세스를 제한해야하는 경우에 알고 싶다면. 이 시나리오를 어떻게 달성 할 수 있습니까? '내부'개체의

Item { 
    property int sum: internal.a + internal.b 
    QtObject { 
    id: internal 
    property int a: 1 
    property int b: 2 
    } 
} 

속성 항목 이외의 눈에 보이지 않는, 그러나 자유롭게 내부에 사용할 수 있습니다 :

답변

24

여기가 QML 자체가 그러한 내장 기능이 없지만, Qt는 빠른 구성 요소 접근 방법이다.

+0

'QtObject'가 있어야하며, 예를 들어이 메소드를 통해'ListView' 내부에 private 속성을 선언 할 수도 있습니까? – KernelPanic

+1

QtObject 대신 원하는 요소를 사용할 수 있습니다. –

+0

문서에서 : "사용자 정의 속성 집합을 묶는 매우 가벼운 유형이 필요한 경우 QtObject를 만드는 것이 유용 할 수 있습니다."- QtObject를 사용하는 것이이 질문의 목적을 위해 할 수있는 최선의 방법입니다. – FourtyTwo