Package QML Type
Gibt eine Sammlung von benannten Elementen an. Mehr...
Import Statement: | import QtQml.Models |
Angehängte Eigenschaften
- name : string
Detaillierte Beschreibung
Der Pakettyp wird in Verbindung mit DelegateModel verwendet, damit Delegierte mit einem gemeinsamen Kontext für mehrere Ansichten bereitgestellt werden können.
Jedem Element innerhalb eines Pakets kann über die Eigenschaft Package.name attached ein Name zugewiesen werden.
Das folgende Beispiel erstellt ein Paket mit zwei benannten Elementen: Liste und Gitter. Das dritte Element im Paket ( Rectangle) ist dem Delegaten, in dem es erscheinen soll, übergeordnet. So kann ein Element zwischen verschiedenen Ansichten wechseln.
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 } } } ] } }
Diese benannten Elemente werden von den beiden Ansichten als Delegaten verwendet, die auf die spezielle Eigenschaft DelegateModel::parts verweisen, um ein Modell auszuwählen, das den gewählten Delegaten bereitstellt.
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 }
Hinweis: Package ist seit Version 2.14 Teil von QtQml.Models und seit Version 2.0 Teil von QtQuick. Der Import von Package über QtQuick ist seit Qt 5.14 veraltet.
Siehe auch Qt Quick Beispiele - Views und Qt Qml.
Dokumentation der angehängten Eigenschaft
Package.name : string |
Diese angehängte Eigenschaft enthält den Namen eines Elements innerhalb eines Pakets.
© 2025 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.