Spec-Zone.ru › Qt

Тип QML ButtonGroup

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

Заявление импорта: import QtQuick.Controls
С момента: 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 и Кнопки.

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

buttons : список<AbstractButton>

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

ButtonGroup {
    buttons: column.children
}

Column {
    id: column

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

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

См. также group.

[с QtQuick.Controls 2.4 (Qt 5.11)] 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.

[с QtQuick.Controls 2.3 (Qt 5.10)] 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.

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

[since QtQuick.Controls 2.1 (Qt 5.8)] 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" }
}

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

Этот сигнал был добавлен в 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/qt-6.2/qml-qtquick-controls2-buttongroup.html

Spec-Zone.ru

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