En esta página

QButtonGroup Class

La clase QButtonGroup proporciona un contenedor para organizar grupos de widgets de botones. Más...

Cabecera: #include <QButtonGroup>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Hereda: QObject

Propiedades

Funciones públicas

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)

Señales

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)

Descripción Detallada

QButtonGroup proporciona un contenedor abstracto en el que se pueden colocar widgets de botones. No proporciona una representación visual de este contenedor (véase QGroupBox para un widget contenedor), sino que gestiona los estados de cada uno de los botones del grupo.

Un grupo de botones exclusive desactiva todos los botones seleccionables (toggle) excepto el que ha sido pulsado. Por defecto, un grupo de botones es exclusivo. Los botones de un grupo de botones suelen ser comprobables QPushButtons, QCheckBoxes (normalmente para grupos de botones no exclusivos) o QRadioButtons. Si crea un grupo de botones exclusivo, debe asegurarse de que uno de los botones del grupo esté comprobado inicialmente; de lo contrario, el grupo se encontrará inicialmente en un estado en el que no haya ningún botón comprobado.

Se puede añadir un botón al grupo con addButton() y eliminarlo con removeButton(). Si el grupo es exclusivo, el botón marcado actualmente está disponible con checkedButton(). Si se hace clic en un botón, se emite la señal buttonClicked(); para un botón comprobable en un grupo exclusivo, esto significa que el botón ha sido comprobado. La lista de botones del grupo se devuelve con buttons().

Además, QButtonGroup puede establecer correspondencias entre números enteros y botones. Puede asignar un identificador entero a un botón con setId(), y recuperarlo con id(). El id del botón actualmente marcado está disponible con checkedId(), y existe una señal idClicked() que emite el id del botón. El id -1 está reservado por QButtonGroup para significar "no existe tal botón". El propósito del mecanismo de mapeo es simplificar la representación de valores enum en una interfaz de usuario.

Véase también QGroupBox, QPushButton, QCheckBox, y QRadioButton.

Documentación de propiedades

exclusive : bool

Esta propiedad indica si el grupo de botones es exclusivo

Si esta propiedad es true, entonces sólo un botón del grupo puede ser marcado en un momento dado. El usuario puede pulsar sobre cualquier botón para marcarlo, y ese botón reemplazará al existente como botón marcado en el grupo.

En un grupo exclusivo, el usuario no puede desmarcar el botón actualmente marcado pulsando sobre él; en su lugar, debe pulsar sobre otro botón del grupo para establecer el nuevo botón marcado para ese grupo.

Por defecto, esta propiedad es true.

Funciones de acceso:

bool exclusive() const
void setExclusive(bool)

Documentación de funciones miembro

[explicit] QButtonGroup::QButtonGroup(QObject *parent = nullptr)

Crea un nuevo grupo de botones vacío con la dirección parent.

Véase también addButton() y setExclusive().

[virtual noexcept] QButtonGroup::~QButtonGroup()

Destruye el grupo de botones.

void QButtonGroup::addButton(QAbstractButton *button, int id = -1)

Añade el button dado al grupo de botones. Si id es -1, se asignará un id al botón. Se garantiza que los ids asignados automáticamente sean negativos, empezando por -2. Si asigna sus propios ids, utilice valores positivos para evitar conflictos.

Véase también removeButton() y buttons().

QAbstractButton *QButtonGroup::button(int id) const

Devuelve el botón con la dirección id especificada, o nullptr si no existe tal botón.

[signal] void QButtonGroup::buttonClicked(QAbstractButton *button)

Esta señal se emite cuando se hace clic en el button dado. Se hace clic en un botón cuando se pulsa por primera vez y luego se suelta, cuando se teclea su tecla de acceso directo o cuando se llama mediante programación a QAbstractButton::click() o QAbstractButton::animateClick().

Véase también checkedButton() y QAbstractButton::clicked().

[signal] void QButtonGroup::buttonPressed(QAbstractButton *button)

Esta señal se emite cuando se pulsa el button dado.

Véase también QAbstractButton::pressed().

[signal] void QButtonGroup::buttonReleased(QAbstractButton *button)

Esta señal se emite cuando se libera el button dado.

Véase también QAbstractButton::released().

[signal] void QButtonGroup::buttonToggled(QAbstractButton *button, bool checked)

Esta señal se emite cuando se pulsa el botón button. checked es verdadero si el botón está marcado, o falso si el botón está desmarcado.

Véase también QAbstractButton::toggled().

QList<QAbstractButton *> QButtonGroup::buttons() const

Devuelve la lista de botones del grupo de botones. Puede estar vacía.

Véase también addButton() y removeButton().

QAbstractButton *QButtonGroup::checkedButton() const

Devuelve el botón marcado del grupo de botones, o nullptr si no hay ningún botón marcado.

Véase también buttonClicked().

int QButtonGroup::checkedId() const

Devuelve el id de checkedButton(), o -1 si no hay ningún botón marcado.

Véase también setId().

int QButtonGroup::id(QAbstractButton *button) const

Devuelve el id del botón especificado button, o -1 si no existe tal botón.

Véase también setId().

[signal] void QButtonGroup::idClicked(int id)

Esta señal se emite cuando se pulsa un botón con la dirección id.

Véase también checkedButton() y QAbstractButton::clicked().

[signal] void QButtonGroup::idPressed(int id)

Esta señal se emite cuando se pulsa un botón con la dirección id.

Véase también QAbstractButton::pressed().

[signal] void QButtonGroup::idReleased(int id)

Esta señal se emite cuando se suelta un botón con la dirección id indicada.

Véase también QAbstractButton::released().

[signal] void QButtonGroup::idToggled(int id, bool checked)

Esta señal se emite cuando se activa un botón con la dirección id. checked es verdadero si el botón está activado, o falso si el botón está desactivado.

Véase también QAbstractButton::toggled().

void QButtonGroup::removeButton(QAbstractButton *button)

Elimina el button dado del grupo de botones.

Véase también addButton() y buttons().

void QButtonGroup::setId(QAbstractButton *button, int id)

Establece el id para el button especificado. Tenga en cuenta que id no puede ser -1.

Véase también id().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.