Spec-Zone.ru › Qt 5.15

Тип QML ButtonGroup

Взаимоисключающая группа кнопок с возможностью выбора. Подробнее...

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

QtObject

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

Свойства

  • buttons : список<AbstractButton>
  • checkState : перечисление
  • checkedButton : AbstractButton
  • exclusive : bool

Присоединенные свойства

  • group : ButtonGroup

Сигналы

  • clicked(AbstractButton кнопка)

Методы

  • void addButton(AbstractButton кнопка)
  • void removeButton(AbstractButton кнопка)

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

ButtonGroup — это невизуальная, взаимоисключающая группа кнопок. Она используется с элементами управления, такими как RadioButton, где только одно из вариантов может быть выбрано одновременно.

Самый простой способ использования ButtonGroup — назначить список кнопок. Например, список дочерних элементов позиционера или макета, который управляет группой взаимоисключающих кнопок.

ButtonGroup {
    buttons: column.children
}

Column {
    id: column

    RadioButton {
        checked: true
        text: qsTr("DAB")
    }

    RadioButton {
        text: qsTr("FM")
    }

    RadioButton {
        text: qsTr("AM")
    }
}

Взаимоисключающие кнопки не всегда имеют один и тот же родительский элемент, или родительский макет иногда может содержать элементы, которые не должны быть включены в группу кнопок. Такие случаи лучше всего обрабатываются с помощью присоединенного свойства group.

ButtonGroup { id: radioGroup }

Column {
    Label {
        text: qsTr("Radio:")
    }

    RadioButton {
        checked: true
        text: qsTr("DAB")
        ButtonGroup.group: radioGroup
    }

    RadioButton {
        text: qsTr("FM")
        ButtonGroup.group: radioGroup
    }

    RadioButton {
        text: qsTr("AM")
        ButtonGroup.group: radioGroup
    }
}

Более сложные случаи использования могут быть обработаны с помощью методов addButton() и removeButton().

См. также RadioButton и Кнопки.

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

[default] buttons : список<AbstractButton>

Это свойство содержит список кнопок.

ButtonGroup {
    buttons: column.children
}

Column {
    id: column

    RadioButton {
        checked: true
        text: qsTr("Option A")
    }

    RadioButton {
        text: qsTr("Option B")
    }
}

См. также group.

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

Это свойство содержит комбинированное состояние выбора группы кнопок.

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

Константа Описание
Qt.Unchecked Ни одна из кнопок не выбрана.
Qt.PartiallyChecked Некоторые из кнопок выбраны.
Qt.Checked Все кнопки выбраны.

Установка состояния выбора для неисключающей группы кнопок на Qt.Unchecked или Qt.Checked соответственно сбросит или выберет все кнопки в группе. Qt.PartiallyChecked игнорируется.

Установка состояния выбора для исключающей группы кнопок на Qt.Unchecked сбрасывает checkedButton. Qt.Checked и Qt.PartiallyChecked игнорируются.

Это свойство было добавлено в QtQuick.Controls 2.4 (Qt 5.11).

checkedButton : AbstractButton

Это свойство содержит текущую выбранную кнопку в исключающей группе или null если её нет или группа неисключающая.

По умолчанию это первая выбранная кнопка, добавленная в исключающую группу кнопок.

См. также exclusive.

exclusive : bool

Это свойство указывает, является ли группа кнопок исключающей. Значение по умолчанию — true.

Если это свойство true, то только одна кнопка в группе может быть выбрана в любой момент времени. Пользователь может нажать на любую кнопку, чтобы выбрать её, и эта кнопка заменит существующую выбранную кнопку в группе.

В исключающей группе пользователь не может снять выбор с текущей выбранной кнопки, нажав на неё; вместо этого должна быть нажата другая кнопка в группе, чтобы установить новую выбранную кнопку для этой группы.

В неисключающей группе выбор и снятие выбора кнопок не влияет на другие кнопки в группе. Кроме того, значение свойства checkedButton равно null.

Это свойство было добавлено в QtQuick.Controls 2.3 (Qt 5.10).

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

ButtonGroup.group : ButtonGroup

Это свойство присоединяет кнопку к группе кнопок.

ButtonGroup { id: group }

RadioButton {
    checked: true
    text: qsTr("Option A")
    ButtonGroup.group: group
}

RadioButton {
    text: qsTr("Option B")
    ButtonGroup.group: group
}

См. также buttons.

Документация по сигналам

clicked(AbstractButton кнопка)

Этот сигнал испускается, когда кнопка кнопка в группе была нажата.

Этот сигнал удобен для реализации обработчика общего сигнала для всех кнопок в одной группе.

ButtonGroup {
    buttons: column.children
    onClicked: console.log("clicked:", button.text)
}

Column {
    id: column
    Button { text: "First" }
    Button { text: "Second" }
    Button { text: "Third" }
}

Примечание: Соответствующий обработчик — onClicked.

Этот сигнал был добавлен в QtQuick.Controls 2.1 (Qt 5.8).

См. также AbstractButton::clicked().

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

void addButton(AbstractButton кнопка)

Добавляет кнопку в группу кнопок.

Примечание: Ручное добавление объектов в группу кнопок обычно не требуется. Свойства buttons и присоединенное свойство group обеспечивают удобный и декларативный синтаксис.

См. также buttons и group.

void removeButton(AbstractButton кнопка)

Удаляет кнопку из группы кнопок.

Примечание: Ручное удаление объектов из группы кнопок обычно не требуется. Свойства buttons и присоединенное свойство group обеспечивают удобный и декларативный синтаксис.

См. также buttons и group.

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

Spec-Zone.ru

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