Пакет QML Type
Определяет коллекцию именованных элементов. Подробнее...
| Заявление об импорте: | import QtQml.Models |
Прикреплённые свойства
- name : строка
Подробное описание
Тип Package используется совместно с DelegateModel, чтобы предоставить делегатам с общим контекстом доступ к нескольким представлениям.
Любой элемент внутри Package может быть присвоен имя через прикреплённое свойство Package.name.
В примере ниже создается Package, содержащий два именованных элемента; list и grid. Третий элемент в пакете (Rectangle) наследуется от делегата, в котором он должен отображаться. Это позволяет перемещать элемент между представлениями.
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 }
}
}
]
}
} Эти именованные элементы используются в качестве делегатов двумя представлениями, которые ссылаются на специальное свойство DelegateModel::parts, чтобы выбрать модель, предоставляющую выбранный делегат.
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
} Примечание: Package является частью QtQml.Models с версии 2.14 и частью QtQuick с версии 2.0. Импортирование Package через QtQuick устарело с Qt 5.14.
См. также Примеры Qt Quick - Представления, Демонстрация Qt Quick - Просмотр фотографий и Qt QML.
Документация по прикреплённому свойству
Package.name : строка
Это прикреплённое свойство содержит имя элемента внутри Package.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtqml-models-package.html