Класс QButtonGroup
Класс QButtonGroup предоставляет контейнер для организации групп виджетов кнопок. Подробнее...
| Заголовок: | #include <QButtonGroup> |
| qmake: | QT += widgets |
| Наследует: | QObject |
Свойства
- exclusive : bool
- 1 свойство унаследовано от QObject
Открытые функции
| QButtonGroup(QObject *parent = Q_NULLPTR) | |
| ~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) |
- 32 открытых функции унаследованы от QObject
Сигналы
| void | buttonClicked(QAbstractButton *button) |
| void | buttonClicked(int id) |
| void | buttonPressed(QAbstractButton *button) |
| void | buttonPressed(int id) |
| void | buttonReleased(QAbstractButton *button) |
| void | buttonReleased(int id) |
| void | buttonToggled(QAbstractButton *button, bool checked) |
| void | buttonToggled(int id, bool checked) |
- 2 сигнала унаследованы от QObject
Дополнительные унаследованные члены
- 1 открытый слот унаследован от QObject
- 11 статические открытые члены унаследованы от QObject
- 9 защищенные функции унаследованы от QObject
Подробное описание
Класс QButtonGroup предоставляет контейнер для организации групп виджетов кнопок.
QButtonGroup обеспечивает абстрактный контейнер, в который могут быть помещены виджеты кнопок. Он не предоставляет визуального представления этого контейнера (см. QGroupBox для виджета контейнера), а вместо этого управляет состояниями каждой из кнопок в группе.
Группа кнопок с свойством exclusive выключает все кнопки с переключателями (кнопки), кроме той, на которую была нажата. По умолчанию группа кнопок является эксклюзивной. Кнопки в группе кнопок обычно являются переключаемыми QPushButton, QCheckBox (обычно для групп кнопок, не являющихся эксклюзивными) или QRadioButton. Если вы создаете эксклюзивную группу кнопок, вы должны убедиться, что одна из кнопок в группе изначально выбрана; в противном случае группа изначально будет в состоянии, когда ни одна кнопка не выбрана.
Кнопка может быть добавлена в группу с помощью addButton() и удалена с помощью removeButton(). Если группа эксклюзивна, текущая выбранная кнопка доступна с помощью checkedButton(). При нажатии на кнопку генерируется сигнал buttonClicked; для переключаемой кнопки в эксклюзивной группе это означает, что кнопка была выбрана. Список кнопок в группе возвращается с помощью buttons().
Кроме того, QButtonGroup может сопоставлять целые числа и кнопки. Вы можете назначить целочисленный идентификатор кнопке с помощью setId(), и получить его с помощью id(). Идентификатор текущей выбранной кнопки доступен с помощью checkedId(), и существует перегруженный сигнал buttonClicked(), который генерирует идентификатор кнопки. Идентификатор -1 зарезервирован QButtonGroup и означает "нет такой кнопки". Цель механизма сопоставления заключается в упрощении представления значений перечислений в пользовательском интерфейсе.
См. также QGroupBox, QPushButton, QCheckBox и QRadioButton.
Документация по свойствам
exclusive : bool
Это свойство определяет, является ли группа кнопок эксклюзивной
Если это свойство true, то только одна кнопка в группе может быть выбрана в данный момент. Пользователь может нажать на любую кнопку, чтобы выбрать ее, и эта кнопка заменит существующую как выбранную кнопку в группе.
В эксклюзивной группе пользователь не может снять выбор с текущей выбранной кнопки, нажав на нее; вместо этого необходимо нажать на другую кнопку в группе, чтобы установить новую выбранную кнопку для этой группы.
По умолчанию это свойство true.
Функции доступа:
| bool | exclusive() const |
| void | setExclusive(bool) |
Документация по функциям-членам
QButtonGroup::QButtonGroup(QObject *parent = Q_NULLPTR)
Конструирует новую пустую группу кнопок с заданным parent.
См. также addButton() и setExclusive().
QButtonGroup::~QButtonGroup()
Уничтожает группу кнопок.
void QButtonGroup::addButton(QAbstractButton *button, int id = -1)
Добавляет заданную button в группу кнопок. Если id равно -1, кнопке будет назначен идентификатор. Автоматически назначенные идентификаторы гарантированно будут отрицательными, начиная с -2. Если вы назначаете свои собственные идентификаторы, используйте положительные значения, чтобы избежать конфликтов.
См. также removeButton() и buttons().
QAbstractButton *QButtonGroup::button(int id) const
Возвращает кнопку с указанным id или 0, если такая кнопка не существует.
Эта функция была введена в Qt 4.1.
[signal] void QButtonGroup::buttonClicked(QAbstractButton *button)
Этот сигнал генерируется, когда нажата заданная button. Кнопка считается нажатой, когда она нажимается, а затем отпускается, когда нажимается ее сочетание клавиш или когда QAbstractButton::click() или QAbstractButton::animateClick() вызывается программно.
Примечание: Сигнал buttonClicked перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя на функцию Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:
connect(buttonGroup, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
[=](QAbstractButton *button){ /* ... */ }); См. также checkedButton() и QAbstractButton::clicked().
[signal] void QButtonGroup::buttonClicked(int id)
Этот сигнал испускается, когда нажата кнопка с заданным id.
Примечание: Сигнал buttonClicked перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию для получения указателя на функцию, как показано в этом примере:
connect(buttonGroup, QOverload<int>::of(&QButtonGroup::buttonClicked),
[=](int id){ /* ... */ }); См. также checkedButton() и QAbstractButton::clicked().
[signal] void QButtonGroup::buttonPressed(QAbstractButton *button)
Этот сигнал испускается, когда указанная кнопка button нажата.
Примечание: Сигнал buttonPressed перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию для получения указателя на функцию, как показано в этом примере:
connect(buttonGroup, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonPressed),
[=](QAbstractButton *button){ /* ... */ }); Эта функция была добавлена в Qt 4.2.
См. также QAbstractButton::pressed().
[signal] void QButtonGroup::buttonPressed(int id)
Этот сигнал испускается, когда нажата кнопка с заданным id.
Примечание: Сигнал buttonPressed перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию для получения указателя на функцию, как показано в этом примере:
connect(buttonGroup, QOverload<int>::of(&QButtonGroup::buttonPressed),
[=](int id){ /* ... */ }); Эта функция была добавлена в Qt 4.2.
См. также QAbstractButton::pressed().
[signal] void QButtonGroup::buttonReleased(QAbstractButton *button)
Этот сигнал испускается, когда указанная кнопка button отпущена.
Примечание: Сигнал buttonReleased перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию для получения указателя на функцию, как показано в этом примере:
connect(buttonGroup, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonReleased),
[=](QAbstractButton *button){ /* ... */ }); Эта функция была добавлена в Qt 4.2.
См. также QAbstractButton::released().
[signal] void QButtonGroup::buttonReleased(int id)
Этот сигнал испускается, когда отпущена кнопка с заданным id.
Примечание: Сигнал buttonReleased перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию для получения указателя на функцию, как показано в этом примере:
connect(buttonGroup, QOverload<int>::of(&QButtonGroup::buttonReleased),
[=](int id){ /* ... */ }); Эта функция была добавлена в Qt 4.2.
См. также QAbstractButton::released().
[signal] void QButtonGroup::buttonToggled(QAbstractButton *button, bool checked)
Этот сигнал испускается, когда указанная кнопка button переключается. checked равно true, если кнопка выбрана, или false, если кнопка снята с выбора.
Примечание: Сигнал buttonToggled перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию для получения указателя на функцию, как показано в этом примере:
connect(buttonGroup, QOverload<QAbstractButton *, bool>::of(&QButtonGroup::buttonToggled),
[=](QAbstractButton *button, bool checked){ /* ... */ }); Эта функция была добавлена в Qt 5.2.
См. также QAbstractButton::toggled().
[signal] void QButtonGroup::buttonToggled(int id, bool checked)
Этот сигнал испускается, когда кнопка с заданным id переключается. checked равно true, если кнопка выбрана, или false, если кнопка снята с выбора.
Примечание: Сигнал buttonToggled перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию для получения указателя на функцию, как показано в этом примере:
connect(buttonGroup, QOverload<int, bool>::of(&QButtonGroup::buttonToggled),
[=](int id, bool checked){ /* ... */ }); Эта функция была добавлена в Qt 5.2.
См. также QAbstractButton::toggled().
QList<QAbstractButton *> QButtonGroup::buttons() const
Возвращает список кнопок группы кнопок. Может быть пустым.
См. также addButton() и removeButton().
QAbstractButton *QButtonGroup::checkedButton() const
Возвращает выбранную кнопку группы кнопок или 0, если кнопок нет.
См. также buttonClicked().
int QButtonGroup::checkedId() const
Возвращает идентификатор выбранной кнопки, или -1, если кнопка не выбрана.
Эта функция была добавлена в Qt 4.1.
См. также setId().
int QButtonGroup::id(QAbstractButton *button) const
Возвращает идентификатор для указанной кнопки button, или -1, если такой кнопки нет.
Эта функция была добавлена в Qt 4.1.
См. также setId().
void QButtonGroup::removeButton(QAbstractButton *button)
Удаляет указанную кнопку button из группы кнопок.
См. также addButton() и buttons().
void QButtonGroup::setId(QAbstractButton *button, int id)
Устанавливает id для указанной кнопки button. Обратите внимание, что id не может быть -1.
Эта функция была добавлена в Qt 4.1.
См. также id().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qbuttongroup.html