IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QDialogButtonBox

La classe QDialogButtonBox représente un widget qui affiche un bouton dans une disposition adaptée au style actuel du widget. Plus d'informations...

 #include <QDialogButtonBox>

Héritage

Hérite de QWidget.

Cette classe a été introduite dans Qt 4.2.

Description détaillée

La classe QDialogButtonBox représente un widget qui affiche un bouton dans une disposition adaptée au style actuel du widget.

Les boîtes de dialogue et les boîtes de message affichent typiquement des boutons dans une disposition conforme aux directives de la plate-forme. Invariablement, différentes plates-formes possèdent différentes dispositions pour leurs boîtes de dialogue. QDialogButtonBox permet aux développeurs d'ajouter des boutons à celles-ci et utilisera automatiquement la disposition appropriée à l'environnement de l'utilisateur.

La plupart des boutons pour les boîtes de dialogue respectent certains rôles. Ces rôles sont :

  • acceptation ou rejet de la boîte de dialogue ;
  • demande d'aide ;
  • exécution d'actions sur la boîte de dialogue elle-même (telles que la réinitialisation des champs ou l'application de changements).

Il peut y avoir d'autres méthodes pour écarter la boîte de dialogue qui peuvent mener à des résultats destructifs.

La plupart des boîtes de dialogue possèdent des boutons qui peuvent être considérés comme standard (par exemple : les boutons OK et Annuler). Il est quelquefois utile de créer ces boutons de manière standard.

Il y a deux méthodes pour utiliser QDialogButtonBox. L'une d'elles est de créer les boutons (ou les boutons textuels) vous-même et de les ajouter dans la boîte de boutons, en spécifiant leurs rôles.

     findButton = new QPushButton(tr("&Find"));
     findButton->setDefault(true);
 
     moreButton = new QPushButton(tr("&More"));
     moreButton->setCheckable(true);
     moreButton->setAutoDefault(false);
 
     buttonBox = new QDialogButtonBox(Qt::Vertical);
     buttonBox->addButton(findButton, QDialogButtonBox::ActionRole);
     buttonBox->addButton(moreButton, QDialogButtonBox::ActionRole);

Autrement, QDialogButtonBox fournit plusieurs boutons standard (par exemple, OK, Annuler, Sauvegarder) que vous pouvez utiliser. Ils sont définis en tant qu'indicateurs, vous pouvez donc les assembler avec l'opérateur OU logique dans le constructeur.

     buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok
                                      | QDialogButtonBox::Cancel);
 
     connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
     connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));

Vous pouvez utiliser des boutons normaux et des boutons standard en même temps.

Actuellement les boutons sont disposés de la manière suivante si la boîte de boutons est horizontale :

image Boîte de boutons horizontale GnomeLayout
image Boîte de boutons horizontale KdeLayout
image Boîte de boutons horizontale MacLayout
image Boîte de boutons horizontale WinLayout

Les boutons sont disposés de la manière suivante si la boîte de boutons est verticale:

GnomeLayout KdeLayout MacLayout WinLayout
image image image image

De plus, les boîtes de boutons qui ne contiennent que des boutons avec les rôles ActionRole ou HelpRole peuvent être considérées comme étant non modales et avoir une apparence différente sur Mac OS X:

MacLayout non-modal horizontal image

Lorsqu'un bouton est cliqué dans la boîte de boutons, le signal clicked() est émis pour le bouton actuel qui est appuyé. Pour plus de facilité, si un bouton a un AcceptRole, RejectRole ou HelpRole, les signaux accepted(), rejected() ou helpRequested() sont émis respectivement.

Si vous souhaitez avoir un bouton sélectionné par défaut, vous devez appeler la fonction QPushButton::setDefault() sur ce bouton. Par contre, s'il n'y a aucun bouton par défaut de défini et afin de s'assurer que le même bouton soit sélectionné par défaut sur toutes les plates-formes lors de l'utilisation de la propriété QPushButton::autoDefault, le premier bouton avec un rôle d'acceptation sera le bouton par défaut lorsque la QDialogButtonBox est affichée.

Voir aussi QMessageBox, QPushButton et QDialog.

Type

enum QDialogButtonBox::ButtonLayout

Cette énumération décrit la politique de mise en page à utiliser lors de l'arrangement des boutons contenus dans la boîte de boutons.

Constante Valeur Description
QDialogButtonBox::WinLayout   Utilisez la politique destinée aux applications Windows.
QDialogButtonBox::MacLayout 1 Utilisez la politique destinée aux applications Mac OS X.
QDialogButtonBox::KdeLayout 2 Utilisez la politique destinée aux applications KDE.
QDialogButtonBox::GnomeLayout 3 Utilisez la politique destinée aux applications GNOME.

La mise en page du layout est spécifiée par le style courant. Toutefois, sur les plates-formes X11, il peut être influencé par le gestionnaire de fenêtres.

enum QDialogButtonBox::ButtonRole

Cette énumération décrit le rôle des boutons dans la boîte de boutons. La combinaison de ces rôles permet de décrire des comportements différents.

Constante Valeur Description
QDialogButtonBox::InvalidRole -1 Le bouton est invalide.
QDialogButtonBox::AcceptRole   Le clic sur ce bouton fait que la boîte de dialogue est acceptée (par exemple, OK).
QDialogButtonBox::RejectRole 1 Le clic sur ce bouton fait que la boîte de dialogue est rejetée (par exemple, Annuler).
QDialogButtonBox::DestructiveRole 2 Le clic sur ce bouton provoque une modification destructrice (par exemple, pour annuler les changements) et ferme la boîte de dialogue.
QDialogButtonBox::ActionRole 3 Le clic sur ce bouton provoque des changements dans les éléments à l'intérieur de la boîte.
QDialogButtonBox::HelpRole 4 Le bouton peut être utilisé pour demander de l'aide.
QDialogButtonBox::YesRole 5 Le bouton est un bouton de réponse affirmative.
QDialogButtonBox::NoRole 6 Le bouton est un bouton de réponse négative.
QDialogButtonBox::ApplyRole 8 Le bouton applique les changements actuels.
QDialogButtonBox::ResetRole 7 Le bouton réinitialise les champs de la boîte de dialogue aux valeurs par défaut.

Voir aussi StandardButton.

enum QDialogButtonBox::StandardButtonflags QDialogButtonBox::StandardButtons

Cette énumération décrit des indicateurs pour les boutons standard. Chaque bouton à un rôle ButtonRole de défini.

Constante Valeur Description
QDialogButtonBox::Ok 0x00000400 Un bouton « OK » défini avec le rôle AcceptRole.
QDialogButtonBox::Open 0x00002000 Un bouton « Ouvrir » défini avec le rôle AcceptRole.
QDialogButtonBox::Save 0x00000800 Un bouton « Sauvegarder » défini avec le rôle AcceptRole.
QDialogButtonBox::Cancel 0x00400000 Un bouton « Annuler » défini avec le rôle RejectRole.
QDialogButtonBox::Close 0x00200000 Un bouton « Fermer » défini avec le rôle RejectRole.
QDialogButtonBox::Discard 0x00800000 Un bouton « Ignorer » ou « Ne pas sauvegarder », suivant les plates-formes, défini avec le rôle DestructiveRole.
QDialogButtonBox::Apply 0x02000000 Un bouton « Appliquer » défini avec le rôle ApplyRole.
QDialogButtonBox::Reset 0x04000000 Un bouton « Réinitialiser » défini avec le rôle ResetRole.
QDialogButtonBox::RestoreDefaults 0x08000000 Un bouton « Restaurer les valeurs par défaut » défini avec le rôle ResetRole.
QDialogButtonBox::Help 0x01000000 Un bouton « Aide » défini avec le rôle HelpRole.
QDialogButtonBox::SaveAll 0x00001000 Un bouton « Sauvegarder tout » défini avec le rôle AcceptRole.
QDialogButtonBox::Yes 0x00004000 Un bouton « Oui » défini avec le rôle YesRole.
QDialogButtonBox::YesToAll 0x00008000 Un bouton « Oui à tout » défini avec le rôle YesRole.
QDialogButtonBox::No 0x00010000 Un bouton « Non » défini avec le rôle NoRole.
QDialogButtonBox::NoToAll 0x00020000 Un bouton « Non à tout » défini avec le rôle NoRole.
QDialogButtonBox::Abort 0x00040000 Un bouton « Annuler » défini avec le rôle RejectRole.
QDialogButtonBox::Retry 0x00080000 Un bouton « Réessayer » défini avec le rôle AcceptRole.
QDialogButtonBox::Ignore 0x00100000 Un bouton « Ignorer » défini avec le rôle AcceptRole.
QDialogButtonBox::NoButton 0x00000000 Un bouton invalide.

Le type StandardButtons est un typedef pour QFlags<StandardButton>. Il contient une combinaison de valeurs StandardButton pouvant être assemblées avec un OU logique.

Voir aussi ButtonRole et standardButtons.

Propriétés

centerButtons : bool

Cette propriété indique si les boutons de la boîte de boutons sont centrés.

Par défaut, la propriété est définie à false. Ce comportement est approprié pour la plupart des types de boîtes de dialogue. Des exceptions notables sont les boîtes de message sur la plupart des plates-formes (par exemple, Windows), où la boîte de boutons est centrée horizontalement.

Fonction d'accès

bool centerButtons () const

void setCenterButtons ( bool center )

Voir aussi QMessageBox.

orientation : Qt::Orientation

Cette propriété indique l'orientation de la boîte de boutons.

Par défaut, l'orientation est horizontale (c'est-à-dire que les boutons sont alignés horizontalement). Les orientations possibles sont Qt::Horizontal et Qt::Vertical.

Fonction d'accès

Qt::Orientation orientation () const

void setOrientation ( Qt::Orientation orientation )

standardButtons : StandardButtons

Cette propriété contient une liste de boutons standard dans la boîte de boutons.

La propriété contrôle les boutons standard qui sont utilisés dans la boîte de boutons.

Fonction d'accès

StandardButtons standardButtons () const

void setStandardButtons ( StandardButtons buttons )

Voir aussi addButton().

Fonctions membres

QDialogButtonBox::QDialogButtonBox ( QWidget * parent = 0 )

Construit une boîte de boutons, vide, horizontale ayant pour parent parent.

Voir aussi orientation et addButton().

QDialogButtonBox::QDialogButtonBox ( Qt::Orientation orientation, QWidget * parent = 0 )

Construit une boîte de boutons vide avec l'orientation orientation donnée et le parent parent.

Voir aussi orientation et addButton().

QDialogButtonBox::QDialogButtonBox ( StandardButtons buttons, Qt::Orientation orientation = Qt::Horizontal, QWidget * parent = 0 )

Construit une boîte de boutons avec l'orientation orientation et le parent parent, contenant les boutons standard spécifiés par buttons.

Voir aussi orientation et addButton().

QDialogButtonBox::~QDialogButtonBox ()

Détruit la boîte de boutons.

void QDialogButtonBox::accepted () [signal]

Ce signal est émis lorsqu'un des boutons de la boîte est cliqué, pour peu qu'il ait le rôle AcceptRole ou YesRole.

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

void QDialogButtonBox::addButton ( QAbstractButton * button, ButtonRole role )

Ajoute le bouton button à la boîte de boutons avec le rôle role spécifié. Si le rôle n'est pas valide, le bouton n'est pas ajouté.

Si le bouton a déjà été ajouté, il sera retiré puis ajouté à nouveau, avec le nouveau rôle.

Note : la boîte de boutons devient propriétaire du bouton.

Voir aussi removeButton() et clear().

QPushButton * QDialogButtonBox::addButton ( const QString & text, ButtonRole role )

Crée un bouton poussoir avec le texte text donné, l'ajoute dans la boîte de boutons avec le rôle role spécifié et retourne le bouton correspondant. Si le role n'est pas valide, aucun bouton n'est créé et la fonction retourne zéro.

Voir aussi removeButton() et clear().

QPushButton * QDialogButtonBox::addButton ( StandardButton button )

Ajoute un bouton standard button à la boîte de boutons s'il est possible de le faire et retourne un bouton poussoir. Si button n'est pas valide, il n'est pas ajouté à la boîte et la fonction retourne zéro.

Voir aussi removeButton() et clear().

QPushButton * QDialogButtonBox::button ( StandardButton which ) const

Renvoie le QPushButton correspondant au bouton standard which ou 0 si le bouton standard n'existe pas dans cette boîte de boutons.

Voir aussi standardButton(), standardButtons() et buttons().

ButtonRole QDialogButtonBox::buttonRole ( QAbstractButton * button ) const

Renvoie le rôle du bouton pour le bouton button spécifié. Cette fonction retourne InvalidRole si button est 0 ou n'a pas été ajouté à la boîte de boutons.

Voir aussi buttons() et addButton().

QList<QAbstractButton *> QDialogButtonBox::buttons () const

Renvoie une liste de tous les boutons qui ont été ajoutés à la boîte de boutons.

Voir aussi buttonRole(), addButton() et removeButton().

void QDialogButtonBox::changeEvent ( QEvent * event ) [virtual protected]

Réimplémentation de QWidget::changeEvent().

void QDialogButtonBox::clear ()

Nettoie la boîte de boutons en supprimant tous les boutons à l'intérieur.

Voir aussi removeButton() et addButton().

void QDialogButtonBox::clicked ( QAbstractButton * button ) [signal]

Ce signal est émis lorsqu'un bouton dans la boîte de boutons est cliqué. Le bouton cliqué est spécifié par button.

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

bool QDialogButtonBox::event ( QEvent * event ) [virtual protected]

Réimplémentation de QObject::event().

void QDialogButtonBox::helpRequested () [signal]

Ce signal est émis lorsqu'un bouton dans la boîte de boutons est cliqué, si le rôle de celui-ci est HelpRole.

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

void QDialogButtonBox::rejected () [signal]

Ce signal est émis lorsqu'un bouton dans la boîte de boutons est cliqué, si le rôle de celui-ci est RejectRole ou NoRole.

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

void QDialogButtonBox::removeButton ( QAbstractButton * button )

Retire le bouton button de la boîte de boutons sans le supprimer, et définit son parent à zéro.

Voir aussi clear(), buttons() et addButton().

StandardButton QDialogButtonBox::standardButton ( QAbstractButton * button ) const

Renvoie la valeur de bouton standard correspondant au bouton button donné ou NoButton si le bouton button n'est pas un bouton standard.

Voir aussi button(), buttons() et standardButtons().

Remerciements

Merci à Alexandre Laurent pour la traduction, ainsi qu'à Lo?c Leguay et Claude Leloup pour la relecture !

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.7
Copyright © 2024 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !