Sur cette page

ButtonGroup QML Type

Groupe mutuellement exclusif de boutons à cocher. Plus d'informations...

Import Statement: import QtQuick.Controls
Inherits:

QtObject

Propriétés

Propriétés rattachées

Signaux

  • clicked(AbstractButton button) (since QtQuick.Controls 2.1 (Qt 5.8))

Méthodes

Description détaillée

ButtonGroup est un groupe non visuel de boutons qui s'excluent mutuellement. Il est utilisé avec des contrôles tels que RadioButton, où une seule des options peut être sélectionnée à la fois.

La manière la plus directe d'utiliser ButtonGroup est d'assigner une liste de boutons. Par exemple, la liste des enfants d'un positionneur ou d'une disposition qui gère un groupe de boutons mutuellement exclusifs.

ButtonGroup {
    buttons: column.children
}

Column {
    id: column

    RadioButton {
        checked: true
        text: qsTr("DAB")
    }

    RadioButton {
        text: qsTr("FM")
    }

    RadioButton {
        text: qsTr("AM")
    }
}

Les boutons mutuellement exclusifs ne partagent pas toujours le même élément parent, ou la disposition parentale peut parfois contenir des éléments qui ne devraient pas être inclus dans le groupe de boutons. Dans ce cas, il est préférable d'utiliser la propriété group attached.

ButtonGroup { id: radioGroup }

Column {
    Label {
        text: qsTr("Radio:")
    }

    RadioButton {
        checked: true
        text: qsTr("DAB")
        ButtonGroup.group: radioGroup
    }

    RadioButton {
        text: qsTr("FM")
        ButtonGroup.group: radioGroup
    }

    RadioButton {
        text: qsTr("AM")
        ButtonGroup.group: radioGroup
    }
}

Une autre option consiste à filtrer la liste des enfants. C'est particulièrement pratique si vous utilisez un répéteur pour la remplir, puisque le répéteur sera également un enfant de la disposition parentale :

ButtonGroup {
    buttons: column.children.filter((child) => child !== repeater)
}

Column {
    id: column

    Repeater {
        id: repeater
        model: [ qsTr("DAB"), qsTr("AM"), qsTr("FM") ]
        RadioButton {
            required property string modelData
            text: modelData
        }
    }
}

Des cas d'utilisation plus avancés peuvent être traités à l'aide des méthodes addButton() et removeButton().

Voir également RadioButton et Contrôles de boutons.

Documentation sur les propriétés

buttons : list<AbstractButton>

Cette propriété contient la liste des boutons.

ButtonGroup {
    buttons: column.children
}

Column {
    id: column

    RadioButton {
        checked: true
        text: qsTr("Option A")
    }

    RadioButton {
        text: qsTr("Option B")
    }
}

Voir aussi group.

checkState : enumeration [since QtQuick.Controls 2.4 (Qt 5.11)]

Cette propriété contient l'état de contrôle combiné du groupe de boutons.

États disponibles :

ConstantDescription : Aucun des boutons n'est coché.
Qt.UncheckedAucun des boutons n'est coché.
Qt.PartiallyCheckedCertains boutons sont cochés.
Qt.CheckedTous les boutons sont cochés.

En attribuant la valeur Qt.Unchecked ou Qt.Checked à l'état de contrôle d'un groupe de boutons non exclusifs, on désactive ou on contrôle tous les boutons du groupe, respectivement. Qt.PartiallyChecked est ignoré.

La définition de l'état de contrôle d'un groupe de boutons exclusifs à Qt.Unchecked désactive le bouton checkedButton. Qt.Checked et Qt.PartiallyChecked sont ignorés.

Cette propriété a été introduite dans QtQuick.Controls 2.4 (Qt 5.11).

checkedButton : AbstractButton

Cette propriété contient le bouton actuellement sélectionné dans un groupe exclusif, ou null s'il n'y en a pas ou si le groupe n'est pas exclusif.

Par défaut, il s'agit du premier bouton coché ajouté à un groupe de boutons exclusif.

Voir également exclusive.

exclusive : bool [since QtQuick.Controls 2.3 (Qt 5.10)]

Cette propriété indique si le groupe de boutons est exclusif. La valeur par défaut est true.

Si la valeur de cette propriété est true, un seul bouton du groupe peut être vérifié à un moment donné. L'utilisateur peut cliquer sur n'importe quel bouton pour le cocher, et ce bouton remplacera le bouton existant en tant que bouton coché dans le groupe.

Dans un groupe exclusif, l'utilisateur ne peut pas décocher le bouton actuellement coché en cliquant dessus ; il doit cliquer sur un autre bouton du groupe pour définir le nouveau bouton coché pour ce groupe.

Dans un groupe non exclusif, le fait de cocher ou de décocher des boutons n'affecte pas les autres boutons du groupe. En outre, la valeur de la propriété checkedButton est null.

Cette propriété a été introduite dans QtQuick.Controls 2.3 (Qt 5.10).

Documentation sur la propriété Attached

ButtonGroup.group : ButtonGroup

Cette propriété permet d'attacher un bouton à un groupe de boutons.

ButtonGroup { id: group }

RadioButton {
    checked: true
    text: qsTr("Option A")
    ButtonGroup.group: group
}

RadioButton {
    text: qsTr("Option B")
    ButtonGroup.group: group
}

Voir aussi buttons.

Documentation sur les signaux

[since QtQuick.Controls 2.1 (Qt 5.8)] clicked(AbstractButton button)

Ce signal est émis lorsqu'un bouton button du groupe a été cliqué.

Ce signal est pratique pour mettre en œuvre un gestionnaire de signal commun à tous les boutons d'un même groupe.

ButtonGroup {
    buttons: column.children
    onClicked: button => {
        console.log("clicked:", button.text)
    }
}

Column {
    id: column
    Button { text: "First" }
    Button { text: "Second" }
    Button { text: "Third" }
}

Remarque : le gestionnaire correspondant est onClicked.

Ce signal a été introduit dans QtQuick.Controls 2.1 (Qt 5.8).

Voir aussi AbstractButton::clicked().

Documentation de la méthode

void addButton(AbstractButton button)

Ajoute une adresse button au groupe de boutons.

Remarque : il n'est généralement pas nécessaire d'ajouter manuellement des objets à un groupe de boutons. La propriété buttons et la propriété group attached fournissent une syntaxe pratique et déclarative.

Voir également buttons et group.

void removeButton(AbstractButton button)

Supprime un button du groupe de boutons.

Remarque : il n'est généralement pas nécessaire de supprimer manuellement des objets d'un groupe de boutons. La propriété buttons et la propriété group attached fournissent une syntaxe pratique et déclarative.

Voir également buttons et group.

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