Spec-Zone.ru › Qt 6.1

Группа кнопок QML Тип

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

Оператор импорта: import QtQuick.Controls 2.1
С момента: Qt 5.7
Наследует:

QtObject

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

Свойства

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

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

  • group : Группа кнопок

Сигналы

  • 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 { 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.1/qml-qtquick-controls2-buttongroup.html

Spec-Zone.ru

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