zoukankan      html  css  js  c++  java
  • qml实现折叠框

    Item{

    width:200
    height:300
    ListView{
    anchors.fill:parent
    model:nestedModel
    delegate:categoryDelegate
    }
    ListModel{
    id:nestedModel
    ListElement{
    categoryName:"Veggies"
    collapsed:true
    //AListElementcan'tcontainchildelements,butitcancontain
    //alistofelements.AlistofListElementscanbeusedasamodel
    //justlikeanyothermodeltype.
    subItems:[
    ListElement{itemName:"Tomato"},
    ListElement{itemName:"Tomato"},
    ListElement{itemName:"Tomato"},
    ListElement{itemName:"Cucumber"},
    ListElement{itemName:"Onion"},
    ListElement{itemName:"Brains"}
    ]
    }
    ListElement{
    categoryName:"Fruits"
    collapsed:true
    subItems:[
    ListElement{itemName:"Orange"},
    ListElement{itemName:"Apple"},
    ListElement{itemName:"Pear"},
    ListElement{itemName:"Lemon"}
    ]
    }
    ListElement{
    categoryName:"Cars"
    collapsed:true
    subItems:[
    ListElement{itemName:"Nissan"},
    ListElement{itemName:"Toyota"},
    ListElement{itemName:"Chevy"},
    ListElement{itemName:"Audi"}
    ]
    }
    }
    Component{
    id:categoryDelegate
    Column{
    width:200
    Rectangle{
    id:categoryItem
    border.color:"black"
    border.width:5
    color:"white"
    height:50
    width:200
    Text{
    anchors.verticalCenter:parent.verticalCenter
    x:15
    font.pixelSize:24
    text:categoryName
    }
    Rectangle{
    color:"red"
    width:30
    height:30
    anchors.right:parent.right
    anchors.rightMargin:15
    anchors.verticalCenter:parent.verticalCenter
    MouseArea{
    anchors.fill:parent
    //Togglethe'collapsed'property
    onClicked:nestedModel.setProperty(index,"collapsed",!collapsed)
    }
    }
    }
    Loader{
    id:subItemLoader
    //Thisisaworkaroundforabug/featureintheLoaderelement.IfsourceComponentissettonull
    //theLoaderelementretainsthesameheightithadwhensourceComponentwasset.Settingvisible
    //tofalsemakestheparentColumntreatitasifit'sheightwas0.
    visible:!collapsed
    propertyvariantsubItemModel:subItems
    sourceComponent:collapsed?null:subItemColumnDelegate
    onStatusChanged:if(status==Loader.Ready)item.model=subItemModel
    }
    }
    }
    Component{
    id:subItemColumnDelegate
    Column{
    propertyaliasmodel:subItemRepeater.model
    width:200
    Repeater{
    id:subItemRepeater
    delegate:Rectangle{
    color:"#cccccc"
    height:40
    width:200
    border.color:"black"
    border.width:2
    Text{
    anchors.verticalCenter:parent.verticalCenter
    x:30
    font.pixelSize:18
    text:itemName
    }
    }
    }
    }
    }
    }
    
    
  • 相关阅读:
    Eclipse 控制台视图和服务器视图中停止Web服务器的差别
    JSP中forEach和forTokens循环的用法
    Java中的消息框
    JS弹出div简单样式
    Java中简单提示异常代码的行号,类名等
    Java简单的数据库连接
    Java简单方法批量修改Windows文件夹下的文件名(简单IO使用)
    Java中对文件的序列化和反序列化
    navicat 连接 mysql 出现Client does not support authentication protocol requested by server
    IoC是什么
  • 原文地址:https://www.cnblogs.com/fuyanwen/p/3066660.html
Copyright © 2011-2022 走看看