Spec-Zone.ru › Qt 5.11

Тип QML ButtonGroup

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

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

QtObject

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

Свойства

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

Прикреплённые свойства

  • group : ButtonGroup

Сигналы

  • clicked(AbstractButton button)

Методы

  • void addButton(AbstractButton button)
  • void removeButton(AbstractButton button)

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

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 button)

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

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

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

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

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

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

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

void addButton(AbstractButton button)

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

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

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

void removeButton(AbstractButton button)

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

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

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

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

Spec-Zone.ru

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