1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
// This example demonstrates placing items in a view using
// an ObjectModel
import QtQuick 2.0
import QtQml.Models 2.12
Rectangle {
id: root
color: "lightgray"
width: 240
height: 320
property variant itemModel: itemModel1
function checkProperties() {
testObject.error = false;
if (testObject.useModel && view.model != root.itemModel) {
console.log("model property incorrect");
testObject.error = true;
}
}
function switchModel() {
root.itemModel = itemModel2
}
ObjectModel {
id: itemModel1
objectName: "itemModel1"
Rectangle {
objectName: "item1"
height: 50; width: 100; color: "#FFFEF0"
Text { objectName: "text1"; text: "index: " + parent.ObjectModel.index; font.bold: true; anchors.centerIn: parent }
}
Rectangle {
objectName: "item2"
height: 50; width: 100; color: "#F0FFF7"
Text { objectName: "text2"; text: "index: " + parent.ObjectModel.index; font.bold: true; anchors.centerIn: parent }
}
Rectangle {
objectName: "item3"
height: 50; width: 100; color: "#F4F0FF"
Text { objectName: "text3"; text: "index: " + parent.ObjectModel.index; font.bold: true; anchors.centerIn: parent }
}
}
ObjectModel {
id: itemModel2
objectName: "itemModel2"
Rectangle {
objectName: "item4"
height: 50; width: 100; color: "#FFFEF0"
Text { objectName: "text4"; text: "index: " + parent.ObjectModel.index; font.bold: true; anchors.centerIn: parent }
}
Rectangle {
objectName: "item5"
height: 50; width: 100; color: "#F0FFF7"
Text { objectName: "text5"; text: "index: " + parent.ObjectModel.index; font.bold: true; anchors.centerIn: parent }
}
}
Column {
objectName: "container"
Repeater {
id: view
objectName: "repeater"
model: testObject.useModel ? root.itemModel : 0
}
}
}
|