Тип QML CheckBox
Кнопка выбора, которая может быть включена или выключена. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.0 |
| С момента: | 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")
}
} Иерархические группы чекбоксов можно управлять с помощью неисключающей ButtonGroup.
Следующий пример иллюстрирует, как объединенное состояние выбора дочерних элементов можно привязать к состоянию выбора родительского чекбокса:
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 : перечисление
Это свойство содержит состояние выбора чекбокса.
Доступные состояния:
| Константа | Описание |
|---|---|
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 может переопределить стандартное поведение. Следующий пример реализует трехсостоятельный чекбокс, который может отображать состояние частичного выбора в зависимости от внешних условий, но никогда не переключается на состояние частичного выбора при интерактивном переключении пользователем.
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
Это свойство указывает, является ли чекбокс трехсостоятельным чекбоксом.
На анимации ниже первый чекбокс является трехсостоятельным:
По умолчанию это false, то есть чекбокс имеет только два состояния.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtquick-controls2-checkbox.html