Chips
Els components Kirigami.Chip són elements petits heretats del AbstractButton utilitzats per a mostrar propietats comunes o filtres d'alguna cosa. Aquests són normalment elements de text, que també es pot interaccionar amb ells i venen amb un botó opcional de supressió.

Inici ràpid
Els chips es poden afegir fàcilment utilitzant el component Kirigami.Chip. En assignar una cadena al seu camp de text, li donem el nom als chips.
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import org.kde.kirigami as Kirigami
Kirigami.ApplicationWindow {
title: "Chips"
pageStack.initialPage: Kirigami.Page {
title: "Chips"
Kirigami.FormLayout {
anchors.fill: parent
Kirigami.Chip {
text: "Chip 1"
}
Kirigami.Chip {
text: "Chip 2"
}
Kirigami.Chip {
text: "Chip 3"
}
}
}
}
Amb repetidors (recomanat)
Com que els chips s'han d'utilitzar més d'una vegada, és probable que vulgueu utilitzar algun tipus d'estructura de dades de llista i iterar-los per a mostrar els chips. Per a fer-ho, necessitem un component ListModel i un component Repeater.
El ListModel s'utilitza com a emmagatzematge per als chips. Per a poblar el ListModel (i per tant, els chips), declarem un parell de components de ListElement, que conté un camp conegut com a text. Podem utilitzar aquesta cadena assignada des d'aquí al camp text per a cada xip repetit.
El repetidor s'utilitza per a mostrar els chips. Primer, hem d'establir el camp model del Repeater al nostre ListModel, o crear el ListModel dins del repetidor. Després, declarem el component Kirigami.Chip dins del Repeater, i assigneu el seu camp text amb les dades de l'element utilitzant la propietat modelData.
Kirigami.ApplicationWindow {
id: root
title: "Chips"
ListModel {
id: chips
ListElement { text: "Chip 1" }
ListElement { text: "Chip 2" }
ListElement { text: "Chip 3" }
}
pageStack.initialPage: Kirigami.Page {
title: "Chips"
Kirigami.FormLayout {
anchors.fill: parent
Repeater {
Layout.fillWidth: true
model: chips
Kirigami.Chip {
id: chip
text: modelData
}
}
}
}
}Nota
Podeu afegir i eliminar dinàmicament dades del ListModel, i el Repeater farà automàticament aquests canvis. No obstant això, canviant un element específic del Repeater o del ListModel no afecta l'altre, i requereix el canvi de tots dos, a menys que s'utilitzi alguna cosa com QAbstractListModel. Vegeu Aplicació d'exemple per a més informació.Aplicació d'exemple
L'aplicació d'exemple següent mostra com es poden utilitzar els chips en programes com llistes de tasques pendents.
| |
