Spec-Zone.ru › Qt 5.13

Тип QML CheckDelegate

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

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

ItemDelegate

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

Свойства

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

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

CheckDelegate представляет собой делегат элемента, который можно переключать включение (выбрано) или выключение (не выбрано). Делегаты выбора обычно используются для выбора одного или нескольких вариантов из набора вариантов в списке. Для меньших наборов вариантов или для вариантов, которые должны быть уникально идентифицируемыми, рассмотрите использование 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.

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.13/qml-qtquick-controls2-checkdelegate.html

Spec-Zone.ru

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