如何使用变量动态创建对象?

时间:2012-11-27 16:36:18

标签: javascript qt qml

我在尝试使用Javascript动态创建QML中的对象时遇到了麻烦。

我试图使用的代码就是这个

Grid {
    id: numbers
    anchors.centerIn: parent
    columns: 3
    spacing: 2
    function createNumbers(){
        var component = Qt.createComponent("Button.qml");
        for(var i=1; i<37; i++){
            component.createObject(numbers)
        }
    }
    Component.onCompleted: createNumbers()
}

哪个工作正常,但是我想包含变量以使它们各自不同,这样当我将信息传递给Button.qml时,它设置以下

property string text: "1"
property string id: "button1"

我无法弄清楚,任何帮助都会很棒,谢谢你们。

1 个答案:

答案 0 :(得分:3)

Here是方法Component.createObject的文档。

如您所见,您可以使用函数的第二个可选参数设置新对象的参数。在你的情况下,它将是:

component.createObject(numbers, {"text": "1", "id": "button1"});