2014-01-25 3 views
1

동적으로 이미지를 내 QML에 만듭니다. 내가 그 이미지 afterdawrds를 호출하는 방법을 모르는 제외하고QML에서 objectName을 사용하여 ImageView를 호출하는 방법

for (var n = 0; n < 3 * numberOfTiles; n ++) { 
      var image = imageDefinition.createObject(); 
      image.translationX = getX(n); 
      image.translationY = getY(n); 
      image.objectName = ("image"+n) 
      drawContainer.add(image); 
     } 

이미지 만들기는 잘 작동합니다 : 이것은 내가 사용하고있는 코드입니다. 그들에게 ID를 설정할 수 없으며 objectName을 설정하면 작동하는지 모르겠습니다.

나는이 오류가 발생하지 않는다면 어떻게 QML에서 "image3"을 호출하여 이동시킬 수 있습니까? 나는 C++을 사용하고 싶지 않다.

답변

0

독자적으로 해결책을 찾았습니다. 이 이미지를 밝혀으로

onCreationCompleted: { 
    //you need a tmp variable, since you can't do that with property variant 
    var imagesTmp = Array(); 
    for (var n = 0; n < 3 * numberOfTiles; n ++) { 
     imagesTmp[n] = imageDefinition.createObject() 
     imagesTmp[n].translationX = getX(n); 
     imagesTmp[n].translationY = getY(n); 
     drawContainer.add(imagesTmp[n]); 
    } 
    images = imagesTmp; 
    images[3].translationX = 10; //as example, this works! 
} 

이상을 우선 글로벌 액세스를

property list<ImageView> images 

하려면이 추가 그리고 내가 배열의 이미지를 생성 및 복사 이미지에 대한 참조를 유지