Тип QML CheckDelegate
Делегат элемента с индикатором отметки, который можно переключать включение/выключение. Подробнее...
| Заявление импорта: | import QtQuick.Controls 2.15 |
| С момента: | Qt 5.7 |
| Наследует: |
Свойства
- checkState : перечисление
- nextCheckState : функция
- tristate : bool
Подробное описание
CheckDelegate представляет делегат элемента, который можно переключать включение (отмечено) или выключение (не отмечено). Делегаты Check обычно используются для выбора одного или нескольких вариантов из набора вариантов в списке. Для меньших наборов вариантов или для вариантов, которые необходимо однозначно идентифицировать, следует использовать CheckBox вместо этого.
CheckDelegate наследует свой API от ItemDelegate, который наследуется от AbstractButton. Например, вы можете установить text и реагировать на щелчки, используя API AbstractButton. Состояние делегата Check можно установить с помощью свойства checked.
Помимо состояний включения и выключения, существует третье состояние: частично включено. Состояние частичного включения можно включить с помощью свойства tristate. Это состояние указывает, что стандартное состояние включения/выключения не может быть определено; обычно из-за других состояний, которые влияют на делегат Check. Это состояние полезно, например, при выборе нескольких дочерних узлов в дереве.
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.15/qml-qtquick-controls2-checkdelegate.html