如何通过qml中的对象名称调用ImageView



我在QML中动态创建图像。这是我正在使用的代码:

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);
        }

图像创建效果很好,除了我不知道如何将这些图像称为efterdawrds。我无法为它们设置ID,也不知道设置对象名称是否有效。

我没有遇到任何错误,如果这项工作,我该如何从qml调用" image3"来移动它?我不想使用C 。

我自己找到了一个解决方案。首先,我将其添加到具有全局访问

property list<ImageView> images

然后我在数组中创建图像,然后通过

复制它们
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!
}

事实证明图像一直参考图像

相关内容

  • 没有找到相关文章

最新更新