Пакет QML Type
Определяет набор именованных элементов Подробнее...
| Выражение импорта: | import . |
Прикрепленные свойства
- name : строка
Подробное описание
Тип Package используется совместно с DelegateModel для предоставления делегатов с общим контекстом для нескольких представлений.
Любой элемент внутри пакета может быть назначен имя через прикрепленное свойство 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
} См. также Примеры Qt Quick - Представления, Демонстрация Qt Quick - Фото просмотрщик и Qt QML.
Документация по прикрепленным свойствам
Package.name : строка
Это прикрепленное свойство содержит имя элемента внутри пакета.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qml-package.html