Группа кнопок QML Тип
Взаимоисключающая группа переключаемых кнопок. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.0 |
| С: | Qt 5.7 |
| Наследует: |
Свойства
- 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 обеспечивают удобный и декларативный синтаксис.
void removeButton(AbstractButton button)
Удаляет кнопку button из группы кнопок.
Примечание: Ручное удаление объектов из группы кнопок обычно не требуется. Свойство buttons и прикрепленное свойство group обеспечивают удобный и декларативный синтаксис.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtquick-controls2-buttongroup.html