Класс QButtonGroup
Класс QButtonGroup предоставляет контейнер для организации групп виджетов кнопок. Подробнее...
| Заголовок: | #include <QButtonGroup> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QObject |
Свойства
- exclusive : bool
Открытые функции
| QButtonGroup(QObject *parent = nullptr) | |
| virtual | ~QButtonGroup() |
| void | addButton(QAbstractButton *button, int id = -1) |
| QAbstractButton * | button(int id) const |
| QList<QAbstractButton *> | buttons() const |
| QAbstractButton * | checkedButton() const |
| int | checkedId() const |
| bool | exclusive() const |
| int | id(QAbstractButton *button) const |
| void | removeButton(QAbstractButton *button) |
| void | setExclusive(bool) |
| void | setId(QAbstractButton *button, int id) |
Сигналы
| void | buttonClicked(QAbstractButton *button) |
| void | buttonPressed(QAbstractButton *button) |
| void | buttonReleased(QAbstractButton *button) |
| void | buttonToggled(QAbstractButton *button, bool checked) |
| void | idClicked(int id) |
| void | idPressed(int id) |
| void | idReleased(int id) |
| void | idToggled(int id, bool checked) |
Подробное описание
QButtonGroup предоставляет абстрактный контейнер, в который можно помещать виджеты кнопок. Он не предоставляет визуального представления этого контейнера (см. QGroupBox для виджета-контейнера), но вместо этого управляет состояниями каждой из кнопок в группе.
Группа кнопок exclusive отключает все переключаемые (переключатель) кнопки, кроме той, на которую был нажат. По умолчанию группа кнопок является exclusive. Кнопки в группе кнопок обычно являются переключаемыми QPushButton, QCheckBox (обычно для групп кнопок, которые не exclusive), или QRadioButton. Если вы создаёте exclusive группу кнопок, вы должны убедиться, что одна из кнопок в группе изначально отмечена; в противном случае группа изначально будет находиться в состоянии, когда ни одна кнопка не отмечена.
Кнопку можно добавить в группу с помощью addButton() и удалить с помощью removeButton(). Если группа exclusive, текущая нажатая кнопка доступна с помощью checkedButton(). Если нажата кнопка, испускается сигнал buttonClicked; для переключаемой кнопки в exclusive группе это означает, что кнопка была отмечена. Список кнопок в группе возвращается методом buttons().
Кроме того, QButtonGroup может отображать отображение между целыми числами и кнопками. Вы можете назначить целое число id кнопке с помощью setId() и получить его с помощью id(). Id текущей нажатой кнопки доступна с помощью checkedId(), и существует перегруженный сигнал buttonClicked(), который испускает id кнопки. Идентификатор -1 зарезервирован QButtonGroup для обозначения «нет такой кнопки». Цель механизма сопоставления заключается в упрощении представления значений перечислений в пользовательском интерфейсе.
См. также QGroupBox, QPushButton, QCheckBox и QRadioButton.
Документация по свойствам
exclusive : bool
Это свойство показывает, является ли группа кнопок exclusive.
Если это свойство true, то только одна кнопка в группе может быть отмечена в любой момент времени. Пользователь может нажать на любую кнопку, чтобы отметить её, и эта кнопка заменит существующую как отмеченную кнопку в группе.
В exclusive группе пользователь не может снять отметку с текущей отмеченной кнопки, нажав на неё; вместо этого необходимо нажать на другую кнопку в группе, чтобы установить новую отмеченную кнопку для этой группы.
По умолчанию это свойство true.
Функции доступа:
| bool | exclusive() const |
| void | setExclusive(bool) |
Документация по функциям-членам
QButtonGroup::QButtonGroup(QObject *parent = nullptr)
Конструирует новую пустую группу кнопок с указанным parent.
См. также addButton() и setExclusive().
[signal] void QButtonGroup::buttonClicked(QAbstractButton *button)
Этот сигнал испускается, когда указанная button нажата. Кнопка нажимается, когда она нажата и затем отпущена, когда нажата её клавиша быстрого вызова, или когда QAbstractButton::click() или QAbstractButton::animateClick() вызываются программно.
См. также checkedButton() и QAbstractButton::clicked().
[signal] void QButtonGroup::buttonPressed(QAbstractButton *button)
Этот сигнал испускается, когда указанная button нажата вниз.
См. также QAbstractButton::pressed().
[signal] void QButtonGroup::buttonReleased(QAbstractButton *button)
Этот сигнал испускается, когда указанная button отпущена.
См. также QAbstractButton::released().
[signal, since 5.2] void QButtonGroup::buttonToggled(QAbstractButton *button, bool checked)
Этот сигнал испускается, когда указанная button переключена. checked истинно, если кнопка отмечена, или ложно, если кнопка не отмечена.
Эта функция была добавлена в Qt 5.2.
См. также QAbstractButton::toggled().
[signal, since 5.15] void QButtonGroup::idClicked(int id)
Этот сигнал испускается, когда кнопка с заданным id нажата.
Эта функция была добавлена в Qt 5.15.
См. также checkedButton() и QAbstractButton::clicked().
[signal, since 5.15] void QButtonGroup::idPressed(int id)
Этот сигнал испускается, когда кнопка с заданным id нажата вниз.
Эта функция была добавлена в Qt 5.15.
END_OF_DOCUMENT_MARKERСм. также QAbstractButton::pressed().
[signal, since 5.15] void QButtonGroup::idReleased(int id)
Этот сигнал излучается, когда кнопка с заданным id отпускается.
Эта функция была добавлена в Qt 5.15.
См. также QAbstractButton::released().
[signal, since 5.15] void QButtonGroup::idToggled(int id, bool checked)
Этот сигнал излучается, когда кнопка с заданным id переключается. checked имеет значение true, если кнопка выбрана, или false, если кнопка не выбрана.
Эта функция была добавлена в Qt 5.15.
См. также QAbstractButton::toggled().
[virtual] QButtonGroup::~QButtonGroup()
Уничтожает группу кнопок.
void QButtonGroup::addButton(QAbstractButton *button, int id = -1)
Добавляет данную кнопку в группу кнопок. Если id равно -1, кнопке будет назначен идентификатор. Автоматически назначенные идентификаторы гарантированно будут отрицательными, начиная с -2. Если вы назначаете свои собственные идентификаторы, используйте положительные значения, чтобы избежать конфликтов.
См. также removeButton() и buttons().
QAbstractButton *QButtonGroup::button(int id) const
Возвращает кнопку с указанным id или nullptr если такой кнопки нет.
QList<QAbstractButton *> QButtonGroup::buttons() const
Возвращает список кнопок группы кнопок. Список может быть пустым.
См. также addButton() и removeButton().
QAbstractButton *QButtonGroup::checkedButton() const
Возвращает выбранную кнопку группы кнопок или nullptr если ни одна кнопка не выбрана.
См. также buttonClicked().
int QButtonGroup::checkedId() const
Возвращает идентификатор выбранной кнопки, или -1, если ни одна кнопка не выбрана.
См. также setId().
int QButtonGroup::id(QAbstractButton *button) const
Возвращает идентификатор для указанной кнопки, или -1, если такая кнопка не найдена.
См. также setId().
void QButtonGroup::removeButton(QAbstractButton *button)
Удаляет данную кнопку из группы кнопок.
См. также addButton() и buttons().
void QButtonGroup::setId(QAbstractButton *button, int id)
Устанавливает id для указанной кнопки. Обратите внимание, что id не может быть -1.
См. также id().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qbuttongroup.html