Spec-Zone.ru › Qt 5.6

Тип 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/archives/qt-5.6/qml-qtquick-controls-exclusivegroup.html

Spec-Zone.ru

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