Spec-Zone.ru › Qt 5.12

Тип QML ButtonGroup

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

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

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/qt-5.12/qml-qtquick-controls2-buttongroup.html

Spec-Zone.ru

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