adaitabehera

Untitled

Apr 23rd, 2020
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import QtQuick 2.12
  2.  
  3. Rectangle {
  4.     visible: true
  5.     width: 600
  6.     height: 400
  7.  
  8.     ListModel {
  9.         id: animalsModel
  10.         ListElement {
  11.             name: "parrot"
  12.             size: "Small"
  13.         }
  14.         ListElement {
  15.             name: "crow"
  16.             size: "Small"
  17.         }
  18.         ListElement {
  19.             name: "Dog"
  20.             size: "Medium"
  21.         }
  22.         ListElement {
  23.             name: "Jackle"
  24.             size: "Medium"
  25.         }
  26.         ListElement {
  27.             name: "Rhino"
  28.             size: "Big"
  29.         }
  30.         ListElement {
  31.             name: "Elephant"
  32.             size: "Big"
  33.         }
  34.     }
  35.  
  36.  
  37.     Component {
  38.         id: sectionHeading
  39.  
  40.         Rectangle {
  41.             width: container.width
  42.             height: childrenRect.height
  43.             color: "lightsteelblue"
  44.  
  45.             Text {
  46.                 text: section
  47.                 font.bold: true
  48.                 font.pixelSize: 20
  49.             }
  50.         }
  51.     }
  52.  
  53.     ListView {
  54.         id: container
  55.         anchors.fill: parent
  56.         model: animalsModel
  57.         spacing: 10
  58.         boundsBehavior: ListView.StopAtBounds
  59.  
  60.  
  61.         delegate: Text {
  62.             id: textDelegate
  63.             text: name; font.pixelSize: 18
  64.  
  65.             MouseArea {
  66.                 anchors.fill: parent
  67.  
  68.                 onClicked: {
  69.                     container.currentIndex = index
  70.                     console.log("previous: " + textDelegate.ListView.previousSection)
  71.                     console.log("current: " + textDelegate.ListView.section)
  72.                     console.log("next: " + textDelegate.ListView.nextSection)
  73.                 }
  74.             }
  75.         }
  76.  
  77.         section.property: "size"
  78.         section.criteria: ViewSection.FullString
  79.         section.delegate: sectionHeading
  80.     }
  81. }
Add Comment
Please, Sign In to add comment