Тип QML CheckDelegate
Делегат элемента с индикатором отметки, который можно переключать включено/выключено. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.14 |
| С: | 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 |
Делегат отмечен. |
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-5.14/qml-qtquick-controls2-checkdelegate.html