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
    }
    }
    }
    }
    }
    }
    
    
  • 相关阅读:
    使用WCF实现消息推送
    T31P电子秤数据读取
    持续性任务代码的一些测试
    XP+Android手机DIY家庭视频点播系统-历时3周全力打造吊丝的幸福生活
    Android 上传文件到XP
    Android ListView的一个坑,你可掉进去过?
    无脑无负担网站架构-- Application Request Route的一些应用
    Android 一些注意
    懒人的ERP开发框架--2B&苦B程序员专用
    PHP Token(令牌)设计应用
  • 原文地址:https://www.cnblogs.com/fuyanwen/p/3066660.html
Copyright © 2011-2022 走看看