The*_*roo 11
循环是命令式代码,因此它不是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;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
从QML的角度来看,它真的更强大,更清洁!