Тип QML CheckBox
Кнопка выбора, которую можно переключать в включенное или выключенное состояние. Подробнее...
| Заявление об импорте: | import QtQuick.Controls |
| С момента: | Qt 5.7 |
| Наследует: |
Свойства
- checkState : перечисление
- nextCheckState : функция
- tristate : bool
Подробное описание
CheckBox представляет собой кнопку выбора, которую можно переключать в включенное (отмеченное) или выключенное (неотмеченное) состояние. Кнопки выбора обычно используются для выбора одного или нескольких вариантов из набора вариантов. Для больших наборов вариантов, таких как те, что в списке, вместо этого рассмотрите использование CheckDelegate.
CheckBox наследует свой API от AbstractButton. Например, состояние CheckBox можно установить с помощью свойства checked.
Помимо включенного и выключенного состояний, есть третье состояние: частично включенное. Состояние частично включенного можно включить, используя свойство tristate. Это состояние указывает, что обычное состояние включено/выключено не может быть определено; как правило, из-за других состояний, которые влияют на CheckBox. Это состояние полезно, например, когда несколько дочерних узлов выбраны в дереве.
ColumnLayout {
CheckBox {
checked: true
text: qsTr("First")
}
CheckBox {
text: qsTr("Second")
}
CheckBox {
checked: true
text: qsTr("Third")
}
} Иерархические группы CheckBox можно управлять с помощью неисключающей группы ButtonGroup.
Следующий пример иллюстрирует, как объединенное состояние проверки дочерних элементов можно привязать к состоянию проверки родительского CheckBox:
Column {
ButtonGroup {
id: childGroup
exclusive: false
checkState: parentBox.checkState
}
CheckBox {
id: parentBox
text: qsTr("Parent")
checkState: childGroup.checkState
}
CheckBox {
checked: true
text: qsTr("Child 1")
leftPadding: indicator.width
ButtonGroup.group: childGroup
}
CheckBox {
text: qsTr("Child 2")
leftPadding: indicator.width
ButtonGroup.group: childGroup
}
} См. также Настройка CheckBox, ButtonGroup и Кнопки управления.
Документация по свойствам
checkState : перечисление
Это свойство содержит состояние проверки CheckBox.
Доступные состояния:
| Постоянная | Описание |
|---|---|
Qt.Unchecked |
CheckBox не отмечен. |
Qt.PartiallyChecked |
CheckBox частично отмечен. Это состояние используется только при включенном tristate. |
Qt.Checked |
CheckBox отмечен. |
[с QtQuick.Controls 2.4 (Qt 5.11)] nextCheckState : функция
Это свойство содержит функцию обратного вызова, которая вызывается для определения следующего состояния проверки всякий раз, когда пользователь взаимодействует с CheckBox с помощью сенсорного экрана, мыши или клавиатуры.
По умолчанию обычный CheckBox циклически переключается между состояниями Qt.Unchecked и Qt.Checked, а CheckBox с тремя состояниями циклически переключается между состояниями Qt.Unchecked, Qt.PartiallyChecked, и Qt.Checked.
Функция обратного вызова nextCheckState может переопределить поведение по умолчанию. Следующий пример реализует CheckBox с тремя состояниями, который может отображать частично отмеченное состояние в зависимости от внешних условий, но никогда не циклически переключается на частично отмеченное состояние при интерактивном переключении пользователем.
CheckBox {
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
Это свойство указывает, является ли CheckBox CheckBox с тремя состояниями.
На анимации ниже первый CheckBox имеет три состояния:
По умолчанию false, т.е. CheckBox имеет только два состояния.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick-controls2-checkbox.html