En esta página

CheckBox QML Type

Botón de verificación que se puede activar o desactivar. Más...

Import Statement: import QtQuick.Controls
Inherits:

AbstractButton

Propiedades

Descripción detallada

CheckBox presenta un botón de opción que puede activarse (marcado) o desactivarse (desmarcado). Las casillas de verificación se utilizan normalmente para seleccionar una o más opciones de un conjunto de opciones. Para conjuntos de opciones más grandes, como los de una lista, considere el uso de CheckDelegate en su lugar.

CheckBox hereda su API de AbstractButton. Por ejemplo, el estado de la casilla de verificación puede establecerse con la propiedad checked.

Además de los estados marcado y desmarcado, existe un tercer estado: parcialmente marcado. El estado parcialmente marcado puede activarse mediante la propiedad tristate. Este estado indica que el estado regular marcado/desmarcado no puede ser determinado; generalmente debido a otros estados que afectan a la casilla de verificación. Este estado es útil cuando se seleccionan varios nodos hijos en un treeview, por ejemplo.

ColumnLayout {
    CheckBox {
        checked: true
        text: qsTr("First")
    }
    CheckBox {
        text: qsTr("Second")
    }
    CheckBox {
        checked: true
        text: qsTr("Third")
    }
}

Los grupos jerárquicos de casillas de verificación pueden gestionarse con un ButtonGroup no exclusivo.

Grupo de casillas de verificación para selección múltiple

El siguiente ejemplo ilustra cómo el estado de comprobación combinado de los hijos puede vincularse al estado de comprobación de la casilla de verificación principal:

Column {
    ButtonGroup {
        id: childGroup
        exclusive: false
        checkState: parentBox.checkState
    }

    CheckBox {
        id: parentBox
        text: qsTr("Parent")
        checkState: childGroup.checkState
    }

    CheckBox {
        checked: true
        text: qsTr("Child 1")
        leftPadding: indicator.width
        ButtonGroup.group: childGroup
    }

    CheckBox {
        text: qsTr("Child 2")
        leftPadding: indicator.width
        ButtonGroup.group: childGroup
    }
}

Consulte también Personalización de controlesCheckBox, ButtonGroup, y Button.

Documentación de Propiedades

checkState : enumeration

Esta propiedad contiene el estado de la casilla de verificación.

Estados disponibles:

ConstanteDescripción
Qt.UncheckedLa casilla está desmarcada.
Qt.PartiallyCheckedLa casilla está parcialmente marcada. Este estado sólo se utiliza cuando tristate está activado.
Qt.CheckedLa casilla de verificación está marcada.

Véase también tristate y checked.

nextCheckState : function [since QtQuick.Controls 2.4 (Qt 5.11)]

Esta propiedad contiene una función de devolución de llamada a la que se llama para determinar el siguiente estado de comprobación cada vez que el usuario activa la casilla de verificación de forma interactiva mediante el tacto, el ratón o el teclado.

Por defecto, una casilla de verificación normal alterna entre los estados Qt.Unchecked y Qt.Checked, y una casilla de verificación triestatal alterna entre los estados Qt.Unchecked, Qt.PartiallyChecked y Qt.Checked.

La función de devolución de llamada nextCheckState puede anular el comportamiento predeterminado. El siguiente ejemplo implementa una casilla de verificación de tres estados que puede presentar un estado parcialmente marcado en función de condiciones externas, pero que nunca pasa al estado parcialmente marcado cuando el usuario la activa de forma interactiva.

CheckBox {
    tristate: true
    checkState: allChildrenChecked ? Qt.Checked :
                   anyChildChecked ? Qt.PartiallyChecked : Qt.Unchecked

    nextCheckState: function() {
        if (checkState === Qt.Checked)
            return Qt.Unchecked
        else
            return Qt.Checked
    }
}

Esta propiedad se introdujo en QtQuick.Controls 2.4 (Qt 5.11).

tristate : bool

Esta propiedad indica si la casilla de verificación es tri-estado.

En la animación de abajo, el primer checkbox es tri-estado:

El valor por defecto es false, es decir, la casilla de verificación sólo tiene dos estados.

© 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.