Spec-Zone.ru › Qt 6.1

Тип QML CheckDelegate

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

Заявление об импорте: import QtQuick.Controls 2.1
С момента: 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.1/qml-qtquick-controls2-checkdelegate.html

Spec-Zone.ru

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