Spec-Zone.ru › Qt

Тип делегата CheckDelegate QML

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

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

ItemDelegate

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

Свойства

  • checkState : перечисление
  • nextCheckState : функция
  • tristate : bool

Подробное описание

CheckDelegate представляет собой делегат элемента, который можно переключать включено (выбрано) или выключено (не выбрано). Делегаты Check обычно используются для выбора одного или нескольких вариантов из набора вариантов в списке. Для меньших наборов вариантов или для вариантов, которые необходимо уникально идентифицировать, рассмотрите использование CheckBox вместо этого.

CheckDelegate наследует свой API от ItemDelegate, который наследуется от AbstractButton. Например, вы можете установить text и реагировать на щелчки с помощью API AbstractButton. Состояние делегата выбора можно установить свойством checked.

Помимо включенных и выключенных состояний, существует третье состояние: частично выбрано. Состояние частично выбрано можно включить, используя свойство tristate. Это состояние указывает, что обычное состояние выбора/невыбора не может быть определено; обычно из-за других состояний, которые влияют на делегат выбора. Это состояние полезно, например, когда несколько дочерних узлов выбраны в дереве.

ListView {
    model: ["Option 1", "Option 2", "Option 3"]
    delegate: CheckDelegate {
        text: modelData
    }
}

См. также Настройка CheckDelegate, Делегатские элементы управления и CheckBox.

Документация по свойствам

checkState : перечисление

Это свойство определяет состояние выбора делегата выбора.

Доступные состояния:

Постоянная Описание
Qt.Unchecked Делегат не выбран.
Qt.PartiallyChecked Делегат частично выбран. Это состояние используется только при включенном tristate.
Qt.Checked Делегат выбран.

См. также tristate и checked.

[с QtQuick.Controls 2.4 (Qt 5.11)] 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-6.2/qml-qtquick-controls2-checkdelegate.html

Spec-Zone.ru

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