たとえば、100個のテキストエディットを含むqmlウィンドウを作成したいのですが、ループ内で作成するにはどうすればよいですか?それは可能ですか?
11056 次
2 に答える
14
ループは命令型コードなので、QML ではなく Javascript または C++ です。確かに、それを行うことはできます (たとえば、Qt.createComponent() 呼び出しを JS ループに埋め込むことによって) が、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 の観点からすると、より強力でよりクリーンになります。
于 2013-03-27T12:19:26.610 に答える
5
QML Repeater 要素を調べてくださいhttp://doc.qt.io/qt-4.8/qml-positioners.html
于 2013-03-18T13:58:58.237 に答える