Sur cette page

DialogButtonBox QML Type

Une boîte de boutons utilisée dans les boîtes de dialogue. En savoir plus...

Import Statement: import QtQuick.Controls
Inherits:

Container

Propriétés

Propriétés associées

Signaux

Méthodes

Description détaillée

Les boîtes de dialogue et les fenêtres de message présentent généralement les boutons dans un ordre conforme aux directives d'interface de la plateforme concernée. Les différentes plateformes ont invariablement un ordre différent pour les boutons de leurs boîtes de dialogue. DialogButtonBox permet à un développeur d'y ajouter des boutons et utilise automatiquement l'ordre approprié pour la plateforme de l'utilisateur.

La plupart des boutons d’une boîte de dialogue remplissent des rôles spécifiques. Ces rôles comprennent notamment :

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

Il peut également exister d’autres moyens de fermer la boîte de dialogue, qui peuvent entraîner des conséquences indésirables.

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. L’une d’elles consiste à spécifier les boutons standard (par exemple « OK », « Cancel » et « Save ») et à laisser la boîte de dialogue configurer les boutons.

Boîte de dialogue comportant les boutons « OK » et « Annuler »

DialogButtonBox {
    standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel

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

Sinon, les boutons et leurs rôles peuvent être définis manuellement :

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

Vous pouvez également combiner des boutons normaux et des boutons standard.

Lorsqu’on clique sur un bouton dans la boîte à boutons, le signal ` clicked()` est émis pour le bouton effectivement enfoncé. De plus, les signaux suivants sont automatiquement émis lorsqu’un bouton ayant le ou les rôles correspondants est enfoncé :

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

Voir aussi Dialog.

Documentation sur les propriétés

alignment : flags

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

Valeurs possibles :

ConstanteDescription
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 en 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é d’alignement renvoie une valeur par défaut équivalente à 0. La propriété peut être réinitialisée à cette valeur en lui attribuant la valeur « undefined ». Dans ce cas, les boutons sont redimensionnés pour occuper tout l’espace disponible.

Remarque : cette propriété suppose une disposition horizontale des boutons. Notez que lorsque le style iOS est utilisé, l’ DialogButtonBox utilisera une disposition verticale si cette propriété est définie sur 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 stratégie de disposition des boutons à utiliser lors de l'agencement des boutons contenus dans la zone de boutons. La valeur par défaut dépend de la plateforme.

Valeurs disponibles :

ConstanteDescription
DialogButtonBox.WinLayoutUtilise une politique adaptée aux applications sous Windows.
DialogButtonBox.MacLayoutUtilise une politique adaptée aux applications sous macOS.
DialogButtonBox.KdeLayoutUtilisez une stratégie adaptée aux applications sous KDE.
DialogButtonBox.GnomeLayoutUtilisez une stratégie adaptée aux applications sous GNOME.
DialogButtonBox.AndroidLayoutUtilisez une politique adaptée aux applications sous Android.

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

defaultButton : AbstractButton [since 6.11]

Cette propriété définit 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 conjointement avec 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é définit 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 conjointement avec 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é permettant de créer des boutons standard.

DialogButtonBox Elle ne prend pas possession du délégué.

Voir également standardButtons.

position : enumeration

Cette propriété définit la position de la zone de boutons.

Remarque : si la zone de boutons est définie comme en-tête ou pied de page d'ApplicationWindow ou de Page, la position appropriée est définie automatiquement.

Valeurs possibles :

ConstanteDescription
DialogButtonBox.HeaderLa zone de boutons se trouve en haut, en tant qu'en-tête de fenêtre ou de page.
DialogButtonBox.FooterLa zone de boutons se trouve en bas, en tant que pied de page de la fenêtre ou de la page.

La valeur par défaut est « Footer ».

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

standardButtons : enumeration

Cette propriété contient un ensemble 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é pour la plateforme de l'utilisateur.

Indicateurs possibles :

ConstanteDescription
DialogButtonBox.OkUn bouton « OK » défini avec l'AcceptRole.
DialogButtonBox.OpenUn bouton « Ouvrir » défini avec l'AcceptRole.
DialogButtonBox.SaveUn bouton « Enregistrer » défini à l’aide de l’ AcceptRole.
DialogButtonBox.CancelUn bouton « Annuler » défini à l'aide de l'RejectRole.
DialogButtonBox.CloseUn bouton « Fermer » défini avec l'RejectRole.
DialogButtonBox.DiscardUn bouton « Ignorer » ou « Ne pas enregistrer », selon la plateforme, défini à l'aide de l'DestructiveRole.
DialogButtonBox.ApplyUn bouton « Appliquer » défini à l’aide de la méthode ApplyRole.
DialogButtonBox.ResetUn bouton « Réinitialiser » défini avec l’ ResetRole.
DialogButtonBox.RestoreDefaultsUn bouton « Restaurer les valeurs par défaut » défini à l’aide de la balise ResetRole.
DialogButtonBox.HelpUn bouton « Aide » défini avec l'HelpRole.
DialogButtonBox.SaveAllUn bouton « Tout enregistrer » défini à l’aide de l’ AcceptRole.
DialogButtonBox.YesUn bouton « Oui » défini avec l'YesRole.
DialogButtonBox.YesToAllUn bouton « Oui à tout » défini à l'aide de l'YesRole.
DialogButtonBox.NoUn bouton « Non » défini avec l'NoRole.
DialogButtonBox.NoToAllUn bouton « Non à tout » défini avec l'NoRole.
DialogButtonBox.AbortUn bouton « Abandonner » défini avec l'RejectRole.
DialogButtonBox.RetryUn bouton « Réessayer » défini à l’aide de l’ AcceptRole.
DialogButtonBox.IgnoreUn bouton « Ignorer » défini à l'aide de la fonction ` AcceptRole`.
DialogButtonBox.NoButtonUn bouton non valide.

Voir également standardButton().

Documentation sur les propriétés associées

DialogButtonBox.buttonBox : DialogButtonBox [read-only attached]

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

DialogButtonBox.buttonRole : enumeration [attached]

Cette propriété associée 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.AcceptRoleCliquer sur le bouton entraîne l'acceptation de la boîte de dialogue (par exemple : OK).
DialogButtonBox.RejectRoleCliquer sur ce bouton entraîne le rejet de la boîte de dialogue (par exemple : Cancel).
DialogButtonBox.DestructiveRoleCliquer sur ce bouton entraîne une modification irréversible (par exemple, pour annuler des modifications) et ferme la boîte de dialogue.
DialogButtonBox.ActionRoleCliquer sur ce bouton entraîne des modifications des éléments contenus dans la boîte de dialogue.
DialogButtonBox.HelpRoleVous pouvez cliquer sur ce bouton pour obtenir de l'aide.
DialogButtonBox.YesRoleCe bouton correspond à un « Oui ».
DialogButtonBox.NoRoleCe bouton correspond à un « Non ».
DialogButtonBox.ResetRoleCe bouton réinitialise les champs de la boîte de dialogue à leurs valeurs par défaut.
DialogButtonBox.ApplyRoleCe bouton applique les modifications en cours.

Documentation sur les signaux

accepted()

Ce signal est émis lorsqu'on clique sur un bouton défini à l'aide de la méthode ` AcceptRole ` ou ` YesRole `.

Remarque : le gestionnaire correspondant est onAccepted.

Voir également rejected(), clicked() et helpRequested().

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

Ce signal est émis lorsqu'on clique sur un bouton défini avec l'ApplyRole.

Remarque : le gestionnaire correspondant est onApplied.

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

Voir également discarded() et reset().

clicked(AbstractButton button)

Ce signal est émis lorsqu'on clique sur un « button » situé à l'intérieur de la zone du bouton.

Remarque : le gestionnaire correspondant est ` onClicked`.

Voir également accepted(), rejected() et helpRequested().

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

Ce signal est émis lorsqu'on clique sur un bouton défini à l'aide de l'DiscardRole.

Remarque : le gestionnaire correspondant est onDiscarded.

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

Voir également ` reset()` et ` applied()`.

helpRequested()

Ce signal est émis lorsqu'on clique sur un bouton défini à l'aide de l'HelpRole.

Remarque : le gestionnaire correspondant est onHelpRequested.

Voir également accepted(), rejected() et clicked().

rejected()

Ce signal est émis lorsqu'on clique sur un bouton défini à l'aide de la méthode ` RejectRole ` ou ` NoRole `.

Remarque : le gestionnaire correspondant est onRejected.

Voir également accepted(), helpRequested() et clicked().

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

Ce signal est émis lorsqu'on clique sur un bouton défini à l'aide de l'ResetRole.

Remarque : le gestionnaire correspondant est onReset.

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

Voir également discarded() et applied().

Documentation de la méthode

AbstractButton standardButton(StandardButton button)

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

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