Spec-Zone.ru › Qt 5.14

Тип QML ButtonGroup

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

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

QtObject

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

Свойства

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

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

  • group : ButtonGroup

Сигналы

  • clicked(button)

Методы

  • void addButton(button)
  • void removeButton(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(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(button)

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

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

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

void removeButton(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.14/qml-qtquick-controls2-buttongroup.html

Spec-Zone.ru

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