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 © 2025 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 !