QCheckBox Class
El widget QCheckBox proporciona una casilla de verificación con una etiqueta de texto. Más...
| Cabecera: | #include <QCheckBox> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Hereda: | QAbstractButton |
Propiedades
- tristate : bool
Funciones públicas
| QCheckBox(QWidget *parent = nullptr) | |
| QCheckBox(const QString &text, QWidget *parent = nullptr) | |
| virtual | ~QCheckBox() |
| Qt::CheckState | checkState() const |
| bool | isTristate() const |
| void | setCheckState(Qt::CheckState state) |
| void | setTristate(bool y = true) |
Funciones públicas reimplementadas
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
Señales
(since 6.7) void | checkStateChanged(Qt::CheckState state) |
Funciones protegidas
| virtual void | initStyleOption(QStyleOptionButton *option) const |
Funciones protegidas reimplementadas
| virtual void | checkStateSet() override |
| virtual bool | event(QEvent *e) override |
| virtual bool | hitButton(const QPoint &pos) const override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | nextCheckState() override |
| virtual void | paintEvent(QPaintEvent *) override |
Descripción Detallada

Un QCheckBox es un botón de opción que puede ser activado (checked) o desactivado (unchecked). Las casillas de verificación se utilizan normalmente para representar características de una aplicación que pueden activarse o desactivarse sin afectar a otras. Pueden implementarse distintos tipos de comportamiento. Por ejemplo, se puede utilizar QButtonGroup para agrupar botones de verificación de forma lógica, permitiendo casillas de verificación exclusivas. Sin embargo, QButtonGroup no proporciona ninguna representación visual.
La imagen siguiente ilustra mejor las diferencias entre casillas de verificación exclusivas y no exclusivas.
![]() | ![]() |
Cada vez que una casilla de verificación está marcada o desmarcada, emite la señal checkStateChanged(). Conéctese a esta señal si desea desencadenar una acción cada vez que la casilla de verificación cambie de estado. Puedes utilizar isChecked() para consultar si una casilla de verificación está marcada o no.
Además de los habituales estados marcado y desmarcado, QCheckBox proporciona opcionalmente un tercer estado para indicar "sin cambios". Esto es útil cuando se necesita dar al usuario la opción de no marcar ni desmarcar una casilla de verificación. Si necesita este tercer estado, actívelo con setTristate(), y utilice checkState() para consultar el estado actual.
Al igual que QPushButton, una casilla de verificación muestra texto y, opcionalmente, un pequeño icono. El icono se configura con setIcon(). El texto puede definirse en el constructor o con setText(). Se puede especificar un atajo de teclado precediendo el carácter preferido con un ampersand. Por ejemplo:
En este ejemplo, el atajo es Alt+A. Para más detalles, consulte la documentación de QShortcut. Para mostrar un ampersand real, utilice '&&'.
Véase también QAbstractButton y QRadioButton.
Documentación de propiedades
tristate : bool
Esta propiedad indica si la casilla de verificación tiene tres estados.
Por defecto es false, es decir, la casilla de verificación sólo tiene dos estados.
Funciones de acceso:
| bool | isTristate() const |
| void | setTristate(bool y = true) |
Documentación de las funciones miembro
[explicit] QCheckBox::QCheckBox(QWidget *parent = nullptr)
Construye una casilla de verificación con la dirección parent, pero sin texto.
parent se pasa al constructor QAbstractButton.
[explicit] QCheckBox::QCheckBox(const QString &text, QWidget *parent = nullptr)
Construye una casilla de verificación con los campos parent y text.
parent se pasa al constructor QAbstractButton.
[virtual noexcept] QCheckBox::~QCheckBox()
Destructor.
Qt::CheckState QCheckBox::checkState() const
Devuelve el estado de la casilla de verificación. Si no necesita soporte tristate, también puede utilizar QAbstractButton::isChecked(), que devuelve un booleano.
Véase también setCheckState() y Qt::CheckState.
[signal, since 6.7] void QCheckBox::checkStateChanged(Qt::CheckState state)
Esta señal se emite cada vez que cambia el estado de la casilla de verificación, es decir, cada vez que el usuario la marca o la desmarca.
state contiene el nuevo Qt::CheckState de la casilla de verificación.
Esta función se introdujo en Qt 6.7.
[override virtual protected] void QCheckBox::checkStateSet()
Reimplementa: QAbstractButton::checkStateSet().
[override virtual protected] bool QCheckBox::event(QEvent *e)
Reimplementa: QAbstractButton::event(QEvent *e).
[override virtual protected] bool QCheckBox::hitButton(const QPoint &pos) const
Reimplementa: QAbstractButton::hitButton(const QPoint &pos) const.
[virtual protected] void QCheckBox::initStyleOption(QStyleOptionButton *option) const
Inicializa option con los valores de este QCheckBox. Este método es útil para subclases que requieren un QStyleOptionButton, pero no quieren rellenar toda la información ellos mismos.
Véase también QStyleOption::initFrom().
[override virtual] QSize QCheckBox::minimumSizeHint() const
Reimplementa una función de acceso para la propiedad: QWidget::minimumSizeHint.
[override virtual protected] void QCheckBox::mouseMoveEvent(QMouseEvent *e)
Reimplementa: QAbstractButton::mouseMoveEvent(QMouseEvent *e).
[override virtual protected] void QCheckBox::nextCheckState()
Reimplementa: QAbstractButton::nextCheckState().
[override virtual protected] void QCheckBox::paintEvent(QPaintEvent *)
Reimplementa: QAbstractButton::paintEvent(QPaintEvent *e).
void QCheckBox::setCheckState(Qt::CheckState state)
Establece el estado de comprobación de la casilla de verificación en state. Si no necesita compatibilidad con tristate, también puede utilizar QAbstractButton::setChecked(), que toma un booleano.
Véase también checkState() y Qt::CheckState.
[override virtual] QSize QCheckBox::sizeHint() const
Reimplementa una función de acceso para la propiedad: QWidget::sizeHint.
© 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.

