Тип QML CheckBox
Кнопка выбора, которая может быть переключена в включенное или выключенное состояние. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.5 |
| С момента: | 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 отмечен. |
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-5.12/qml-qtquick-controls2-checkbox.html