Тип делегата CheckDelegate QML
Делегат элемента с индикатором выбора, который можно переключать включено/выключено. Подробнее...
| Заявление об импорте: | import QtQuick.Controls |
| С момента: | Qt 5.7 |
| Наследует: |
Свойства
- checkState : перечисление
- nextCheckState : функция
- tristate : bool
Подробное описание
CheckDelegate представляет собой делегат элемента, который можно переключать включено (выбрано) или выключено (не выбрано). Делегаты Check обычно используются для выбора одного или нескольких вариантов из набора вариантов в списке. Для меньших наборов вариантов или для вариантов, которые необходимо уникально идентифицировать, рассмотрите использование CheckBox вместо этого.
CheckDelegate наследует свой API от ItemDelegate, который наследуется от AbstractButton. Например, вы можете установить text и реагировать на щелчки с помощью API AbstractButton. Состояние делегата выбора можно установить свойством checked.
Помимо включенных и выключенных состояний, существует третье состояние: частично выбрано. Состояние частично выбрано можно включить, используя свойство tristate. Это состояние указывает, что обычное состояние выбора/невыбора не может быть определено; обычно из-за других состояний, которые влияют на делегат выбора. Это состояние полезно, например, когда несколько дочерних узлов выбраны в дереве.
ListView {
model: ["Option 1", "Option 2", "Option 3"]
delegate: CheckDelegate {
text: modelData
}
} См. также Настройка CheckDelegate, Делегатские элементы управления и CheckBox.
Документация по свойствам
checkState : перечисление
Это свойство определяет состояние выбора делегата выбора.
Доступные состояния:
| Постоянная | Описание |
|---|---|
Qt.Unchecked |
Делегат не выбран. |
Qt.PartiallyChecked |
Делегат частично выбран. Это состояние используется только при включенном tristate. |
Qt.Checked |
Делегат выбран. |
[с QtQuick.Controls 2.4 (Qt 5.11)] nextCheckState : функция
Это свойство содержит функцию обратного вызова, которая вызывается для определения следующего состояния выбора всякий раз, когда делегат выбора интерактивно переключается пользователем с помощью касания, мыши или клавиатуры.
По умолчанию обычный делегат выбора циклически переключается между состояниями Qt.Unchecked и Qt.Checked, а делегат выбора со тремя состояниями циклически переключается между состояниями Qt.Unchecked, Qt.PartiallyChecked, и Qt.Checked.
Функция обратного вызова nextCheckState может переопределить поведение по умолчанию. В следующем примере реализован делегат выбора со тремя состояниями, который может представлять частично выбранное состояние в зависимости от внешних условий, но никогда не переходит в частично выбранное состояние при интерактивном переключении пользователем.
CheckDelegate {
tristate: true
checkState: allChildrenChecked ? Qt.Checked :
anyChildChecked ? Qt.PartiallyChecked : Qt.Unchecked
nextCheckState: function() {
if (checkState === Qt.Checked)
return Qt.Unchecked
else
return Qt.Checked
}
} Это свойство было введено в QtQuick.Controls 2.4 (Qt 5.11).
tristate : bool
Это свойство определяет, имеет ли делегат выбора три состояния.
На анимации ниже первый checkdelegate имеет три состояния:
Значение по умолчанию — false, т.е. делегат имеет только два состояния.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick-controls2-checkdelegate.html