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  · 

QWidgetAction

La classe QWidgetAction �tend QAction par une interface d'insertion de widgets personnalis�s dans des conteneurs d'actions, tels que des barres d'outils. Plus d'informations...

#include <QWidgetAction>

Voir la position dans l'arbre des classes.

H�ritage

H�rite de QAction.

Description d�taill�e

La classe QWidgetAction �tend QAction par une interface d'insertion de widgets personnalis�s dans des conteneurs d'actions, tels que des barres d'outils.

La plupart des actions dans une application sont repr�sent�es comme des �l�ments dans des menus ou bien comme des boutons dans des barres d'outils. Cependant, il arrive que des widgets plus complexes soient n�cessaires. Par exemple, une action de zoom dans un logiciel de traitement de texte peut �tre r�alis� en utilisant une QComboBox dans une QToolBar, pr�sentant un panel de plusieurs niveaux de zoom. QToolBar fournit la fonction QToolBar::insertWidget() pour l'insertion d'un simple widget. Toutefois, si vous voulez impl�menter une action utilisant un widget personnalis� pour une visualisation dans plusieurs conteneurs, alors vous devrez cr�er une sous-classe de QWidgetAction.

Si un QWidgetAction est, par exemple, ajout� � une QToolBar, alors QWidgetAction::createWidget() est appel�e. Les r�impl�mentations de cette fonction devraient cr�er un nouveau widget personnalis� avec le parent sp�cifi�.

Si l'action est retir�e d'un widget conteneur, alors QWidgetAction::deleteWidget() est appel�e avec, en argument, le widget personnalis� pr�c�demment cr��. L'impl�mentation par d�faut masque le widget et le supprime en utilisant QObject::deleteLater().

Si vous n'avez qu'un unique widget personnalis�, alors vous pouvez le d�finir en tant que widget par d�faut en utilisant setDefaultWidget(). Ce widget sera alors utilis� si l'action est ajout�e � une QToolBar ou, en g�n�ral � un conteneur d'actions qui supporte QWidgetAction. Si un QWidgetAction avec uniquement un widget par d�faut est ajout� � deux barres d'outils en m�me temps, alors le widget par d�faut est uniquement ajout� � la premi�re barre d'outils dans laquelle l'action a �t� ajout�e. QWidgetAction s'approprie alors le widget par d�faut.

Notez qu'il appartient au widget d'activer l'action, par exemple par la r�impl�mentation du gestionnaire d'�v�nements de souris et par l'appel de QAction::trigger().

Mac OS X : si vous ajoutez un widget � un menu dans la barre de menu de l'application sous Mac OS X, le widget sera ajout� mais fonctionnera avec quelques limitations :

  1. le widget est reparent� � partir de QMenu au menu natif ; si vous affichez le menu dans un autre endroit (par exemple, dans un menu surgissant), le widget n'y sera pas ;
  2. la gestion du focus/clavier du widget est impossible ;
  3. � cause du design d'Apple, le suivi de la souris sur le widget ne fonctionne pas actuellement ;
  4. la connexion du signal triggered() � un slot ouvrant une bo�te de dialogue modale causera un crash sous Mac OS X 10.4 (bug connu et reconnu par Apple), un contournement est d'utiliser � la place une QueuedConnection au lieu d'une DirectConnection.

Voir aussi QAction, QActionGroup et QWidget.

Fonctions membres

QWidgetAction::QWidgetAction ( QObject * parent )

Construit une action avec parent.

QWidgetAction::~QWidgetAction () [virtual]

D�truit l'objet et lib�re les ressources allou�es.

QWidget * QWidgetAction::createWidget ( QWidget * parent ) [virtual protected]

Cette fonction est appel�e � chaque fois que l'action est ajout�e � un widget conteneur supportant le widget personnalis�. Si vous ne voulez pas qu'un widget personnalis� soit utilis� comme repr�sentation de l'action dans le widget parent sp�cifi�, alors 0 devrait �tre retourn�.

Voir aussi deleteWidget().

QList<QWidget *> QWidgetAction::createdWidgets () const [protected]

Retourne la liste des widgets ayant �t� cr��s par l'utilisation de createWidget() et �tant actuellement en utilisation par des widgets dont l'action leur a �t� ajout�e.

QWidget * QWidgetAction::defaultWidget () const

Retourne le widget par d�faut.

Voir aussi setDefaultWidget().

void QWidgetAction::deleteWidget ( QWidget * widget ) [virtual protected]

Cette fonction est appel�e � chaque fois que l'action est retir�e d'un widget conteneur affichant l'action en utilisant un widget personnalis� pr�c�demment cr�� avec createWidget(). L'impl�mentation par d�faut masque le widget et le programme pour une suppression par l'utilisation de QObject::deleteLater().

Voir aussi createWidget().

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

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

bool QWidgetAction::eventFilter ( QObject * obj, QEvent * event ) [virtual protected]

R�impl�mentation de QObject::eventFilter().

void QWidgetAction::releaseWidget ( QWidget * widget )

Lib�re le widget sp�cifi�.

Les widgets conteneurs supportant les actions appellent cette fonction lorsqu'un widget action est retir�.

Voir aussi requestWidget(), deleteWidget() et defaultWidget().

QWidget * QWidgetAction::requestWidget ( QWidget * parent )

Retourne un widget repr�sentant l'action, avec le parent donn�.

Les widgets conteneurs supportant les actions peuvent appeler cette fonction pour demander un widget comme repr�sentation visuelle de l'action.

Voir aussi releaseWidget(), createWidget() et defaultWidget().

void QWidgetAction::setDefaultWidget ( QWidget * widget )

D�finit le widget en tant que widget par d�faut. QWidgetAction devient le propri�taire du widget. � moins que createWidget() soit r�impl�ment�e par une sous-classe pour retourner un nouveau widget, le widget par d�faut est utilis� lorsqu'un widget conteneur demande un widget � travers requestWidget().

Voir aussi defaultWidget().

Remerciements

Merci � Louis du Verdier pour la traduction et � Jonathan Courtois, Thibaut Cuvelier ainsi qu'� Jacques Thery pour leur 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 !