Componentes modelo-delegado o listas y cuadrículas
Los componentes modelo-delegado permiten mostrar listas de información, como listas de canciones, listas de artistas, listas de archivos, listas de usuario o cualquier listado de información.
Ejemplo 1. Rellenando el modelo con datos definidos en el propio fichero QML. Mostrar un menú para Side Bar.
import QtQuick 2.15
import QtQuick.Controls 2.15
import org.mauikit.controls 1.3 as Maui
Maui.ApplicationWindow
{
id: root
Maui.SideBarView
{
anchors.fill: parent
sideBarContent: Maui.Page
{
Maui.Theme.colorSet: Maui.Theme.Window
anchors.fill: parent
headBar.visible: false
ListModel {
id: mainMenuModel
ListElement { name: "General behavior" ; description: "Configure other options" ; icon: "love" }
ListElement { name: "Mouse" ; description: "Adjust mouse behavior" ; icon: "input-mouse" }
ListElement { name: "Virtual desktops" ; description: "Desktops settings" ; icon: "virtual-desktops" }
}
Maui.ListBrowser {
id: menuSideBar
anchors.fill: parent
anchors.margins: 5
horizontalScrollBarPolicy: ScrollBar.AlwaysOff
verticalScrollBarPolicy: ScrollBar.AlwaysOff
currentIndex: 0
spacing: 5
model: mainMenuModel
delegate: Maui.ListBrowserDelegate {
width: ListView.view.width
height: 60
label1.text: name
label2.text: description
iconSource: icon
onClicked: {
switch (index) {
case 0: {
menuSideBar.currentIndex = index
//stackView.push("qrc:/Page1.qml")
return
}
case 1: {
menuSideBar.currentIndex = index
//stackView.push("qrc:/Page2.qml")
return
}
case 2: {
menuSideBar.currentIndex = index
//stackView.push("qrc:/Page3.qml")
return
}
}
}
}
}
}
Maui.Page
{
anchors.fill: parent
showCSDControls: true
headBar.background: null
StackView {
id: stackView
anchors.fill: parent
}
}
}
}
Ejemplo 2. Rellenando el modelo con datos procedentes de código o funcionalidad C++. Mostrar una lista de usuarios.
Conectar funcionalidad C++ con la interfaz QML
Componentes modelo-delegado.
ListBrowserGridBrowserLast updated