2014-04-04 3 views
0

QML 언어를 사용하여 SailfishOS 용 응용 프로그램을 개발하고 있습니다. if 조건을 사용하여 레이블의 id 속성을 동적으로 설정하려고합니다. 이 코드는 내 CoverPage.qml 파일에 배치됩니다동적으로 레이블의 "id"속성을 설정하십시오.

Label { 
     id: { 
      if(myBool == false) { 
       thisText() 
      } else { 
       notThatText() 
      } 
     } 
     width: parent.width 
     horizontalAlignment: Text.AlignRight 
     text: "" 
     font.pixelSize: Theme.fontSizeLarge 
    } 

, 배경에있는 동안 응용 프로그램의 커버에 물건을 표시 하나

내 코드입니다. 이렇게하면 표지가 검은 색으로 표시되고 아무 것도 표시되지 않습니다.

QML로 가능합니까?

미리 감사드립니다.

+0

왜 그게 좋을까요? 어쩌면 실제 문제는 동적 ID보다 더 나은 해결책을 가지고 있습니다 ... http://meta.stackexchange.com/a/66378/237563 – GabrielF

답변

1

Qt doc은 다음과 같이 말합니다.

While it may look like an ordinary property, the id attribute is not an ordinary property attribute, and special semantics apply to it;

당신은 런타임에 QML 구성 요소의 ID를 설정할 수 없습니다. (만약 내가 잘못 정정 해줘). objectName 속성이 유용 할 것입니다. 하지만 왜 동적 ID를 할당하려고하는지 이해할 수 없습니다.