如何在循环中创建多个qml组件

如何在循环中创建多个qml组件,qml,Qml,我希望创建一个包含100个textedit的qml窗口。例如,如何在循环中创建它?有可能吗? < p>查看QML中继器元素循环是一个命令代码,所以不是QML,而是JavaScript或C++。当然,您可以这样做(例如,通过在JS循环中嵌入Qt.createComponent()调用),但在QML中,最好考虑声明性,这意味着您不“做”事情,而是“定义”事情: import QtQuick 2.0 Rectangle { id: base; width: 400; heig

我希望创建一个包含100个textedit的qml窗口。例如,如何在循环中创建它?有可能吗?

< p>查看QML中继器元素

循环是一个命令代码,所以不是QML,而是JavaScript或C++。当然,您可以这样做(例如,通过在JS循环中嵌入Qt.createComponent()调用),但在QML中,最好考虑声明性,这意味着您不“做”事情,而是“定义”事情:

import QtQuick 2.0

Rectangle {
    id: base;
    width: 400;
    height: 800;

    Column {
        spacing: 5; // a simple layout do avoid overlapping

        Repeater {
            model: 10; // just define the number you want, can be a variable too
            delegate: Rectangle {
                width: 200;
                height: 20;
                color: "white";
                border { width: 1; color: "black" }
                radius: 3;

                TextInput {
                    anchors.fill: parent;
                }
            }
        }
    }
}
这样,从QML的角度来看,它真的更强大、更干净