Spec-Zone.ru › Qt 5.9

Тип QML ExclusiveGroup

ExclusiveGroup предоставляет способ объявления нескольких элементов управления, которые можно включать/выключать, как взаимоисключающие. Подробнее...

Заявление импорта: import QtQuick.Controls 1.4
  • Список всех членов, включая унаследованные

Свойства

  • current : объект

Методы

  • void bindCheckable(объект)
  • void unbindCheckable(объект)

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

ExclusiveGroup может содержать несколько элементов Action, и эти элементы автоматически получат свойство Action::exclusiveGroup.

ExclusiveGroup {
    id: radioInputGroup

    Action {
        id: dabRadioInput
        text: "DAB"
        checkable: true
    }

    Action {
        id: fmRadioInput
        text: "FM"
        checkable: true
    }

    Action {
        id: amRadioInput
        text: "AM"
        checkable: true
    }
}

Несколько элементов управления уже поддерживают ExclusiveGroup, например, Action, MenuItem, Button и RadioButton.

Так как ExclusiveGroup поддерживает только Action в качестве дочерних элементов, нам нужно вручную назначить свойство exclusiveGroup для других объектов.

GroupBox {
    id: group2
    title: qsTr("Tab Position")
    Layout.fillWidth: true
    RowLayout {
        ExclusiveGroup { id: tabPositionGroup }
        RadioButton {
            id: topButton
            text: qsTr("Top")
            checked: true
            exclusiveGroup: tabPositionGroup
            Layout.minimumWidth: 100
        }
        RadioButton {
            id: bottomButton
            text: qsTr("Bottom")
            exclusiveGroup: tabPositionGroup
            Layout.minimumWidth: 100
        }
    }
}

Добавление поддержки ExclusiveGroup

Можно добавить поддержку ExclusiveGroup для объекта или элемента управления. Он должен иметь свойство checked, и либо сигнал checkedChanged, toggled(), или toggled(bool). Также необходимо привязать его с помощью ExclusiveGroup::bindCheckable(), когда его свойство типа ExclusiveGroup устанавливается.

Item {
    id: myItem

    property bool checked: false
    property ExclusiveGroup exclusiveGroup: null

    onExclusiveGroupChanged: {
        if (exclusiveGroup)
            exclusiveGroup.bindCheckable(myItem)
    }
}

Приведенный выше пример демонстрирует минимальный код, необходимый для добавления поддержки ExclusiveGroup для любого элемента.

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

current : объект

Текущий выбранный объект. По умолчанию, это первый отмеченный объект, привязанный к ExclusiveGroup. Если такого объекта нет, то по умолчанию это null.

Документация по методам

void bindCheckable(объект)

Регистрация object в группе эксклюзивного выбора.

Вы должны вызывать эту функцию только при создании компонента, который вы хотите сделать совместимым с ExclusiveGroup.

См. также ExclusiveGroup::unbindCheckable().

void unbindCheckable(объект)

Отмена регистрации object из группы эксклюзивного выбора.

Вы должны вызывать эту функцию только при создании компонента, который вы хотите сделать совместимым с ExclusiveGroup.

См. также ExclusiveGroup::bindCheckable().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtquick-controls-exclusivegroup.html

Spec-Zone.ru

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