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
    }
    }
    }
    }
    }
    }
    
    
  • 相关阅读:
    倒计时
    用css 添加手状样式,鼠标移上去变小手
    二维数组去重方法
    权限管理
    文件操作
    【十一章】:RabbitMQ队列
    【十一章】:Memcache、Redis
    【第十章】:I/O多路复用、异步I/O(综合篇)
    【模块】:paramiko
    【第九章】:线程、进程和协程
  • 原文地址:https://www.cnblogs.com/fuyanwen/p/3066660.html
Copyright © 2011-2022 走看看