Sur cette page

ButtonGroup QML Type

Groupe de boutons cochables mutuellement exclusifs. En savoir plus...

Import Statement: import QtQuick.Controls
Inherits:

QtObject

Propriétés

Propriétés associées

Signaux

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

Méthodes

Description détaillée

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

La manière la plus simple d’utiliser ButtonGroup consiste à lui attribuer une liste de boutons. Par exemple, la liste des enfants d’un positionneur ou d’une mise en page 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 mise en page parent peut parfois contenir des éléments qui ne doivent pas être inclus dans le groupe de boutons. Dans de tels cas, il est préférable d'utiliser la propriété attachée « group ».

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. Cela s'avère particulièrement pratique si vous utilisez un « repeater » pour la remplir, car ce dernier sera également un enfant de la mise en page parente :

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
        }
    }
}

Les cas d’utilisation plus avancés peuvent être gérés à l’aide des méthodes ` addButton() ` et ` removeButton() `.

Voir également « RadioButton » et « Button Controls ».

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 également group.

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

Cette propriété contient l'état combiné de sélection du groupe de boutons.

États disponibles :

ConstanteDescription
Qt.UncheckedAucun des boutons n'est coché.
Qt.PartiallyCheckedCertains boutons sont cochés.
Qt.CheckedTous les boutons sont cochés.

Définir l'état de sélection d'un groupe de boutons non exclusif sur « Qt.Unchecked » ou « Qt.Checked » désélectionne ou sélectionne respectivement tous les boutons du groupe. La valeur « Qt.PartiallyChecked » est ignorée.

Définir l'état de sélection d'un groupe de boutons exclusif sur « Qt.Unchecked » désélectionne l'option « checkedButton ». Les options « Qt.Checked » et « Qt.PartiallyChecked » sont ignorées.

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 la valeur « null » s'il n'y en a aucun 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 cette propriété est définie sur « true », un seul bouton du groupe peut être coché à un moment donné. L’utilisateur peut cliquer sur n’importe quel bouton pour le cocher ; ce bouton remplacera alors le bouton coché existant au sein du groupe.

Dans un groupe exclusif, l’utilisateur ne peut pas décocher le bouton actuellement coché en cliquant dessus ; il doit au contraire cliquer sur un autre bouton du groupe pour définir le nouveau bouton coché de 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. De plus, 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 les propriétés associées

ButtonGroup.group : ButtonGroup [attached]

Cette propriété associe 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 également 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 implémenter 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 un objet « button » au groupe de boutons.

Remarque : il n'est généralement pas nécessaire d'ajoutermanuellement des objets à un groupe de boutons. La propriété buttons et la propriété associée group offrent une syntaxe pratique et déclarative.

Voir également buttons et group.

void removeButton(AbstractButton button)

Supprime un élément « button » du groupe de boutons.

Remarque : il n'est généralement pas nécessaire de supprimermanuellement des objets d'un groupe de boutons. La propriété « buttons » et la propriété attachée « group » offrent 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.