Spec-Zone.ru › Qt 5.15

Тип QML CheckDelegate

Делегат элемента с индикатором отметки, который можно переключать включение/выключение. Подробнее...

Заявление импорта: import QtQuick.Controls 2.15
С момента: Qt 5.7
Наследует:

ItemDelegate

  • Список всех членов, включая наследуемые члены

Свойства

  • 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 Делегат отмечен.

См. также tristate и 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API