1

我在我的 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);
        }

图像创建效果很好,除了我不知道如何在死后调用这些图像。我无法为他们设置 ID,我不知道这样设置 objectName 是否有效。

我没有收到任何错误,如果这有效,我如何从 QML 调用“image3”来移动它?我不想使用 C++。

4

1 回答 1

0

我自己找到了解决方案。首先,我添加它以获得全局访问权限

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!
}

事实证明,图像一直引用图像

于 2014-01-25T21:02:04.067 回答