Repeater 控件是 重复作用 根据 model中的index 数量进行重复
废话不说 直接看如何用
当model 为数字时
-
-
- Rectangle{
- height: 1200
- width: 500
- visible: true
- anchors.fill: parent
- Column{
- spacing: 20
- Repeater{
- model: 10
- delegate: Rectangle{
- width: 60
- height: 20
- color: index%2 == 0?"red":"blue"
- }
- }
- }
- }
结果:
当model 为数组时
-
-
- Rectangle{
- height: 1200
- width: 500
- visible: true
- anchors.fill: parent
- Column{
- spacing: 20
- Repeater{
- model: ["apple","banana","pear"]
- delegate: Rectangle{
- width: 110
- height: 50
- color: index%2 == 0?"red":"blue"
- Text {
- id: name
- text: modelData+index
- font.pixelSize: 14
- anchors.centerIn: parent
- }
- }
- }
- }
- }
结果:
当model 为自定义model时 采用id 传递
-
-
- Rectangle{
- height: 1200
- width: 500
- visible: true
- anchors.fill: parent
- Column{
- spacing: 20
- Repeater{
- model: modelId
- delegate: Rectangle{
- width: 110
- height: 50
- color: index%2 == 0?"red":"blue"
- Text {
- id: txt
- text: name+" "+index
- font.pixelSize: 14
- anchors.centerIn: parent
- }
- }
- }
- ListModel{
- id:modelId
- ListElement{
- name:"Liming";
- age: 12
- }
- ListElement{
- name:"Zhangjie";
- age: 19
- }
- ListElement{
- name:"Wanglaing";
- age: 22
- }
- }
- }
- }
结果: