• qml----Model/View入门(九)Repeater


      repeater,用于创建多个基于item的组件,通常会用到三个属性,count-创建item的数量,model-指定数据,delegate-待实例化的模型,一般在创建repeater时不显示初始化。另外,还有其它常用属性:
      itemAt(index) 根据索引返回对应的delegate实例
      model 可以取数字(表示创建的数量)、字符串列表、对象列表、ListModel
      虽然repeater可以一次性创建大量的同一类型的Item,但是当量大时,效率就会低下;而listview呢它会创建少部分item,直到用户需要看到它时才会再创建。

      下面是展示代码

      

    import QtQuick 2.2
    import QtQuick.Layouts 1.1
    
    Rectangle {
        id: root
         320
        height: 480
        color: "#EEEEEE"
    
        Grid{
            anchors.left: parent.left
            anchors.leftMargin: 4
            anchors.top: parent.top
            anchors.topMargin: 4
            rows: 3
            spacing: 5
    
            Repeater{
                //model: 8 //数字模式
                model: ["A", "B", "C", "D", "E", "F", "G", "H"]   //字符串模式
    //            model:[
    //                {"text": "A", "object": "RA"},
    //                {"text": "B", "object": "RB"},
    //                {"text": "C", "object": "RC"},
    //                {"text": "D", "object": "RD"},
    //            ]         //对象模式
    
    //            model: ListModel{
    //                ListElement{name : "A"; object: "RA";}
    //                ListElement{name : "B"; object: "RB";}
    //                ListElement{name : "C"; object: "RC";}
    //                ListElement{name : "D"; object: "RD";}
    //            }         //ListModel模式
    
                Rectangle{
                     root.width / 3 - 7
                    height: width
                    color: Qt.rgba(Math.random(), Math.random(), Math.random(), 1)
    
                    Text{
                        anchors.centerIn: parent
                        font.pixelSize: 15
                        font.bold: true
                        color: "red"
                        text: modelData //modelData.name 或者modelData.text
                    }
                }
            }
        }
    }
  • 相关阅读:
    设计模式之原型模式
    设计模式之建造者模式
    一个工厂还能写出花来?
    一个单例还能写出花来?
    python基础之条件循环语句
    python基础之七种运算符
    python基础之五大标准数据类型
    node.js express mvc轻量级框架实践
    js Date() 浏览器兼容问题解决
    js 倒计时(服务器时间同步)
  • 原文地址:https://www.cnblogs.com/SaveDictator/p/8244556.html
Copyright © 2020-2023  润新知