Sur cette page

DialogButtonBox QML Type

Boîte à boutons utilisée dans les boîtes de dialogue. Plus d'informations...

Import Statement: import QtQuick.Controls
Inherits:

Container

Propriétés

Propriétés rattachées

Signaux

Méthodes

Description détaillée

Les boîtes de dialogue et de message présentent généralement les boutons dans un ordre conforme aux directives d'interface de la plate-forme concernée. Invariablement, les boutons des boîtes de dialogue ne sont pas présentés dans le même ordre d'une plate-forme à l'autre. DialogButtonBox permet à un développeur d'ajouter des boutons et utilise automatiquement l'ordre approprié pour la plate-forme de l'utilisateur.

La plupart des boutons d'une boîte de dialogue suivent certains rôles. Ces rôles sont les suivants

  • Accepter ou rejeter la boîte de dialogue.
  • Demander de l'aide.
  • Effectuer des actions sur la boîte de dialogue elle-même (comme réinitialiser des champs ou appliquer des modifications).

Il peut également y avoir d'autres façons de rejeter la boîte de dialogue, ce qui peut entraîner des résultats destructeurs.

La plupart des boîtes de dialogue comportent des boutons que l'on peut presque considérer comme standard (par exemple, les boutons OK et Cancel ). Il est parfois pratique de créer ces boutons de manière standard.

Il existe plusieurs façons d'utiliser DialogButtonBox. La première consiste à spécifier les boutons standard (par exemple OK, Cancel, Save) et à laisser la boîte à boutons les configurer.

Boîte de dialogue avec boutons OK et Annuler

DialogButtonBox {
    standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel

    onAccepted: console.log("Ok clicked")
    onRejected: console.log("Cancel clicked")
}

Il est également possible de spécifier manuellement les boutons et leur rôle :

DialogButtonBox {
    Button {
        text: qsTr("Save")
        DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
    }
    Button {
        text: qsTr("Close")
        DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
    }
}

Vous pouvez également mélanger les boutons normaux et les boutons standard.

Lorsqu'un bouton est cliqué dans la boîte à boutons, le signal clicked() est émis pour le bouton pressé. En outre, les signaux suivants sont automatiquement émis lorsqu'un bouton ayant le(s) rôle(s) correspondant(s) est pressé :

RôleSignal
AcceptRole, YesRoleaccepted()
ApplyRoleapplied()
DiscardRolediscarded()
HelpRolehelpRequested()
RejectRole, NoRolerejected()
ResetRolereset()

Voir aussi Dialog.

Documentation sur les biens

alignment : flags

Cette propriété définit l'alignement des boutons.

Valeurs possibles :

ConstanteDescription : Les boutons sont alignés à gauche.
Qt.AlignLeftLes boutons sont alignés à gauche.
Qt.AlignHCenterLes boutons sont centrés horizontalement.
Qt.AlignRightLes boutons sont alignés à droite.
Qt.AlignTopLes boutons sont alignés vers le haut.
Qt.AlignVCenterLes boutons sont centrés verticalement.
Qt.AlignBottomLes boutons sont alignés en bas.

Par défaut, aucun alignement spécifique n'est défini ; la lecture de la propriété alignment produit une valeur de drapeau par défaut qui est égale à 0. La propriété peut être réinitialisée à cette valeur en lui attribuant undefined. Dans ce cas, les boutons sont redimensionnés pour remplir l'espace disponible.

Remarque : cette propriété suppose que les boutons sont disposés horizontalement. Lors de l'exécution du style iOS, DialogButtonBox utilisera une disposition verticale si cette propriété est définie à une valeur autre que undefined et s'il y a plus de deux boutons. Dans tous les autres cas, les boutons seront disposés horizontalement.

buttonLayout : enumeration [since QtQuick.Controls 2.5 (Qt 5.12)]

Cette propriété définit la politique d'agencement des boutons à utiliser lors de la disposition des boutons contenus dans la boîte à boutons. La valeur par défaut est spécifique à la plate-forme.

Valeurs disponibles :

ConstanteDescription
DialogButtonBox.WinLayoutUtiliser une politique appropriée pour les applications sous Windows.
DialogButtonBox.MacLayoutUtiliser une stratégie appropriée pour les applications sous macOS.
DialogButtonBox.KdeLayoutUtiliser une stratégie appropriée pour les applications sous KDE.
DialogButtonBox.GnomeLayoutUtiliser une politique appropriée pour les applications sous GNOME.
DialogButtonBox.AndroidLayoutUtiliser une politique appropriée pour les applications sur Android.

Cette propriété a été introduite dans QtQuick.Controls 2.5 (Qt 5.12).

defaultButton : AbstractButton [since 6.11]

Cette propriété contient le bouton par défaut.

Le bouton par défaut sera highlighted et recevra le focus.

Un seul bouton de la boîte à boutons peut être défini comme bouton par défaut. Cette propriété ne peut pas être utilisée en même temps que la propriété defaultStandardButton.

Cette propriété a été introduite dans Qt 6.11.

Voir également standardButtons et defaultStandardButton.

defaultStandardButton : enumeration [since 6.11]

Cette propriété contient le bouton standard par défaut.

Le bouton standard par défaut sera highlighted et recevra le focus.

Un seul bouton de la boîte à boutons peut être défini comme bouton par défaut. Cette propriété ne peut pas être utilisée en même temps que la propriété defaultButton.

Cette propriété a été introduite dans Qt 6.11.

Voir également standardButtons et defaultButton.

delegate : Component

Cette propriété contient un délégué pour la création de boutons standard.

DialogButtonBox n'est pas propriétaire du délégué.

Voir aussi standardButtons.

position : enumeration

Cette propriété définit la position de la boîte à boutons.

Remarque : si la boîte à boutons est affectée à l'en-tête ou au pied de page de ApplicationWindow ou de la page, la position appropriée est définie automatiquement.

Valeurs possibles :

ConstanteDescription
DialogButtonBox.HeaderLa boîte à boutons se trouve en haut, en tant qu'en-tête de fenêtre ou de page.
DialogButtonBox.FooterLa boîte à boutons est placée en bas de page ou de fenêtre.

La valeur par défaut est Footer.

Voir également Dialog::header et Dialog::footer.

standardButtons : enumeration

Cette propriété contient une combinaison de boutons standard utilisés par la boîte à boutons.

DialogButtonBox {
    standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel

    onAccepted: console.log("Ok clicked")
    onRejected: console.log("Cancel clicked")
}

Les boutons seront positionnés dans l'ordre approprié à la plate-forme de l'utilisateur.

Drapeaux possibles :

ConstanteDescription
DialogButtonBox.OkUn bouton "OK" défini avec la page AcceptRole.
DialogButtonBox.OpenUn bouton "Ouvrir" défini avec le site AcceptRole.
DialogButtonBox.SaveUn bouton "Save" défini à l'aide de l'adresse AcceptRole.
DialogButtonBox.CancelUn bouton "Annuler" défini à l'aide de l'adresse RejectRole.
DialogButtonBox.CloseUn bouton "Fermer" défini à l'aide de l'adresse RejectRole.
DialogButtonBox.DiscardUn bouton "Discard" ou "Don't Save", en fonction de la plateforme, défini à l'aide de l'adresse DestructiveRole.
DialogButtonBox.ApplyUn bouton "Appliquer" défini à l'aide de l'adresse ApplyRole.
DialogButtonBox.ResetUn bouton "Reset" défini à l'aide de l'adresse ResetRole.
DialogButtonBox.RestoreDefaultsUn bouton "Restore Defaults" (rétablir les valeurs par défaut) défini à l'aide de l'adresse ResetRole.
DialogButtonBox.HelpUn bouton "Help" défini à l'aide de l'adresse HelpRole.
DialogButtonBox.SaveAllUn bouton "Save All" défini à l'aide de l'adresse AcceptRole.
DialogButtonBox.YesUn bouton "Oui" défini à l'aide de l'adresse YesRole.
DialogButtonBox.YesToAllUn bouton "Oui à tout" défini à l'aide de l'adresse YesRole.
DialogButtonBox.NoUn bouton "Non" défini à l'aide de l'adresse NoRole.
DialogButtonBox.NoToAllUn bouton "Non à tous" défini à l'aide de l'adresse NoRole.
DialogButtonBox.AbortUn bouton "Abort" défini à l'aide de l'adresse RejectRole.
DialogButtonBox.RetryUn bouton "Retry" défini à l'aide de l'adresse AcceptRole.
DialogButtonBox.IgnoreUn bouton "Ignorer" défini à l'aide de l'adresse AcceptRole.
DialogButtonBox.NoButtonUn bouton invalide.

Voir également standardButton().

Documentation sur les propriétés attachées

DialogButtonBox.buttonBox : DialogButtonBox [read-only]

Cette propriété jointe contient la boîte à boutons qui gère ce bouton, ou null si le bouton ne se trouve pas dans une boîte à boutons.

DialogButtonBox.buttonRole : enumeration

Cette propriété jointe définit le rôle de chaque bouton dans une boîte à boutons.

DialogButtonBox {
    Button {
        text: qsTr("Save")
        DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
    }
    Button {
        text: qsTr("Close")
        DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
    }
}

Valeurs disponibles :

ConstanteDescription
DialogButtonBox.InvalidRoleLe bouton n'est pas valide.
DialogButtonBox.AcceptRoleUn clic sur le bouton entraîne l'acceptation de la boîte de dialogue (par exemple, OK).
DialogButtonBox.RejectRoleUn clic sur le bouton entraîne le rejet de la boîte de dialogue (par exemple, Cancel).
DialogButtonBox.DestructiveRoleUn clic sur le bouton entraîne une modification destructive (par exemple, pour rejeter des modifications) et ferme la boîte de dialogue.
DialogButtonBox.ActionRoleUn clic sur le bouton entraîne des modifications des éléments de la boîte de dialogue.
DialogButtonBox.HelpRoleIl est possible de cliquer sur le bouton pour demander de l'aide.
DialogButtonBox.YesRoleLe bouton est un bouton de type "Oui".
DialogButtonBox.NoRoleLe bouton est un bouton de type "Non".
DialogButtonBox.ResetRoleLe bouton rétablit les valeurs par défaut des champs de la boîte de dialogue.
DialogButtonBox.ApplyRoleLe bouton permet d'appliquer les modifications en cours.

Documentation sur les signaux

accepted()

Ce signal est émis lorsqu'un bouton défini avec AcceptRole ou YesRole est cliqué.

Remarque : le gestionnaire correspondant est onAccepted.

Voir aussi rejected(), clicked() et helpRequested().

[since QtQuick.Controls 2.3 (Qt 5.10)] applied()

Ce signal est émis lorsqu'un bouton défini avec ApplyRole est cliqué.

Remarque : le gestionnaire correspondant est onApplied.

Ce signal a été introduit dans QtQuick.Controls 2.3 (Qt 5.10).

Voir aussi discarded() et reset().

clicked(AbstractButton button)

Ce signal est émis lorsqu'un button situé dans la boîte à boutons est cliqué.

Remarque : le gestionnaire correspondant est onClicked.

Voir aussi accepted(), rejected() et helpRequested().

[since QtQuick.Controls 2.3 (Qt 5.10)] discarded()

Ce signal est émis lorsqu'un bouton défini avec DiscardRole est cliqué.

Remarque : le gestionnaire correspondant est onDiscarded.

Ce signal a été introduit dans QtQuick.Controls 2.3 (Qt 5.10).

Voir aussi reset() et applied().

helpRequested()

Ce signal est émis lorsqu'un bouton défini avec HelpRole est cliqué.

Remarque : le gestionnaire correspondant est onHelpRequested.

Voir aussi accepted(), rejected() et clicked().

rejected()

Ce signal est émis lorsqu'un bouton défini avec RejectRole ou NoRole est cliqué.

Remarque : le gestionnaire correspondant est onRejected.

Voir aussi accepted(), helpRequested() et clicked().

[since QtQuick.Controls 2.3 (Qt 5.10)] reset()

Ce signal est émis lorsqu'un bouton défini avec ResetRole est cliqué.

Remarque : le gestionnaire correspondant est onReset.

Ce signal a été introduit dans QtQuick.Controls 2.3 (Qt 5.10).

Voir aussi discarded() et applied().

Documentation de la méthode

AbstractButton standardButton(StandardButton button)

Renvoie le standard spécifié button, ou null s'il n'existe pas.

Voir aussi standardButtons.

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