Package QML Type
Spécifie une collection d'éléments nommés. En savoir plus...
| Import Statement: | import QtQml.Models |
Propriétés associées
- name : string
Description détaillée
Le type Package est utilisé conjointement avec l'DelegateModel pour permettre à des délégués disposant d'un contexte partagé d'être fournis à plusieurs vues.
Tout élément d’un Package peut se voir attribuer un nom via la propriété attachée « Package.name ».
L'exemple ci-dessous crée un Package contenant deux éléments nommés : « list » et « grid ». Le troisième élément du Package ( Rectangle) est associé au délégué dans lequel il doit apparaître. Cela permet à un élément de passer d'une vue à l'autre.
Package {
Text { id: listDelegate; width: parent.width; height: 25; text: 'Empty'; Package.name: 'list' }
Text { id: gridDelegate; width: parent.width / 2; height: 50; text: 'Empty'; Package.name: 'grid' }
Rectangle {
id: wrapper
width: parent.width; height: 25
color: 'lightsteelblue'
Text { text: display; anchors.centerIn: parent }
state: root.upTo > index ? 'inGrid' : 'inList'
states: [
State {
name: 'inList'
ParentChange { target: wrapper; parent: listDelegate }
},
State {
name: 'inGrid'
ParentChange {
target: wrapper; parent: gridDelegate
x: 0; y: 0; width: gridDelegate.width; height: gridDelegate.height
}
}
]
transitions: [
Transition {
ParentAnimation {
NumberAnimation { properties: 'x,y,width,height'; duration: 300 }
}
}
]
}
}Ces éléments nommés sont utilisés comme délégués par les deux vues qui font référence à la propriété spéciale « DelegateModel::parts » pour sélectionner un modèle fournissant le délégué choisi.
DelegateModel {
id: visualModel
delegate: Delegate {}
model: myModel
}
ListView {
id: lv
height: parent.height/2
width: parent.width
model: visualModel.parts.list
}
GridView {
y: parent.height/2
height: parent.height/2
width: parent.width
cellWidth: width / 2
cellHeight: 50
model: visualModel.parts.grid
}Remarque : « Package » fait partie de « QtQml.Models » depuis la version 2.14 et de « QtQuick » depuis la version 2.0. L’importation de « Package » via « QtQuick » est obsolète depuis Qt 5.14.
Voir également Exemples deQt Quick - Vues et Qt Qml.
Documentation sur les propriétés associées
Package.name : string [attached]
Cette propriété associée contient le nom d'un élément au sein d'un package.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.