从string创建动态对象,将变量作为锚属性值

时间:2014-10-24 14:02:29

标签: qt qml qt5

在具有id: window的元素的函数属性中,我按如下方式创建动态对象:

Qt.createQmlObject(
    'import QtQuick 2.3; Rectangle {color: "#00FF00"; width: 1; anchors.right: '+i+'; height:1; anchors.bottom: '+i+'; }',
    window, "dynamicPixels");

其中i是包含此代码段的循环的迭代变量。

当我尝试使用i进行一些计算,并将其用作动态对象中的值时,它会抱怨:

  

意外的标记:'numeric literal'

我试过Math.round()认为它可能会以某种方式变成双倍(即使计算只涉及int),但没有改变。

但是,当我将该行缩减为i以使我的帖子更清晰时,我得到了不同的错误:

  

无效的属性分配:不支持的类型“QQuickAnchorLine”

所以我有更深层次的问题 - 我不能在动态对象中使用锚吗?

1 个答案:

答案 0 :(得分:2)

你想要anchors.rightMarginanchors.right用于通过ID锚定到项目。