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