我在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!
}
事实证明图像一直参考图像