Тип QML DelegateChooser
Позволяет представлению использовать разные делегаты для разных типов элементов в модели. Подробнее...
| Заявление об импорте: | import Qt.labs.qmlmodels 1.0 |
Свойства
Подробное описание
DelegateChooser — это специальный тип компонента, предназначенный для тех случаев, когда компонент требуется представлению и используется в качестве делегата. DelegateChooser инкапсулирует набор DelegateChoice. Эти варианты используются для определения делегата, который будет создан для каждого элемента модели. Выбор варианта выполняется на основе значения, которое элемент модели имеет для role, а также на основе индекса.
DelegateChooser обычно используется, когда представлению необходимо отобразить набор делегатов, которые существенно различаются друг от друга. Например, типичное представление настроек телефона может включать переключатели, ползунки, радиокнопки и другие визуализации, основанные на типе каждой настройки. В этом случае DelegateChooser может предоставить простой способ сопоставить разный тип делегата с каждой настройкой:
import QtQuick
import QtQuick.Controls
import Qt.labs.qmlmodels
ListView {
width: 200; height: 400
ListModel {
id: listModel
ListElement { type: "info"; ... }
ListElement { type: "switch"; ... }
ListElement { type: "swipe"; ... }
ListElement { type: "switch"; ... }
}
DelegateChooser {
id: chooser
role: "type"
DelegateChoice { roleValue: "info"; ItemDelegate { ... } }
DelegateChoice { roleValue: "switch"; SwitchDelegate { ... } }
DelegateChoice { roleValue: "swipe"; SwipeDelegate { ... } }
}
model: listModel
delegate: chooser
} Примечание: Этот тип предназначен для прозрачной работы только с TableView и любыми представлениями, основанными на DelegateModel. Представления (включая пользовательские представления), которые не основаны внутренне на DelegateModel, должны явно поддерживать этот тип компонента, чтобы он функционировал как описано.
См. также DelegateChoice.
Документация по свойствам
[по умолчанию] choices : список<DelegateChoice>
Список DelegateChoices для выбора.
Список обрабатывается как упорядоченный список, где первый DelegateChoice, соответствующий условиям, будет использоваться представлением.
В целом, нет необходимости ссылаться на свойство choices, так как это свойство по умолчанию для DelegateChooser, и все дочерние элементы автоматически назначаются этому свойству.
role : строка
Это свойство содержит роль или имя свойства, используемое для определения делегата для заданного элемента модели.
См. также DelegateChoice.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qt-labs-qmlmodels-delegatechooser.html