Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QGraphicsWidget

La classe QGraphicsWidget est la classe de base pour tous les �l�ments widget dans une QGraphicsScene. Plus d'informations...

#include <QGraphicsWidget>

Voir la position dans l'arbre des classes.

H�ritage

H�rite de QGraphicsObject et QGraphicsLayoutItem.

H�rit� par QGraphicsProxyWidget et QGraphicsWebView.

Cette classe a �t� introduite dans Qt 4.4.

Description d�taill�e

La classe QGraphicsWidget est la classe de base pour tous les �l�ments widget dans une QGraphicsScene.

QGraphicsWidget est un �l�ment de base qui �tend QGraphicsItem avec des fonctionnalit�s suppl�mentaires. Il a de nombreuses similarit�s avec QWidget :

Contrairement � QGraphicsItem, QGraphicsWidget n'est pas une classe abstraite ; vous pouvez cr�er des instances de QGraphicsWidget sans avoir � la d�river. Cette approche est utile pour des widgets dont l'objet est d'organiser des widgets enfants dans un layout.

QGraphicsWidget peut �tre utilis� comme base pour vos propres �l�ments personnalis�s si vous avez besoin d'une gestion avanc�e du focus pour les entr�es, par exemple le focus et l'activation par tabulation, ou de g�rer des dispositions (layout).

Comme QGraphicsWidget ressemble � QWidget et poss�de une API similaire, il est plus facile de porter un widget depuis QWidget vers QGraphicsWidget, que vers QGraphicsItem.

Note : les widgets bas�s sur QWidget peuvent �tre directement int�gr�s dans une QGraphicsScene en utilisant QGraphicsProxyWidget.

Les diff�rences significatives entre QGraphicsWidget et QWidget sont :

QGraphicsWidget QWidget
Les coordonn�es et la g�om�trie sont d�finies par des qreal (flottant simple ou double pr�cision, suivant la plateforme). QWidget utilise une g�om�trie bas�e sur les entiers (QPoint, QRect).
Le widget est visible par d�faut ; vous n'avez pas � appeler show() pour afficher le widget. QWidget est invisible par d�faut jusqu'� l'appel de show().
G�re un sous-ensemble des attributs des widgets. G�re tous les attributs des widgets.
Le style d'un �l�ment de premier niveau est par d�faut QGraphicsScene::style. Le style d'un �l�ment de premier niveau est par d�faut QApplication::style.
La vue graphique (Graphics View) fournit son propre framework pour le glisser-d�poser, diff�rent de celui de QWidget. Framework standard pour le glisser-d�poser.
Les �l�ments widget ne g�rent pas la modalit�. Gestion compl�te de la modalit�.

QGraphicsWidget g�re un sous-ensemble des attributs des widget Qt, (Qt::WidgetAttribute), comme d�crit dans la table ci-dessous. Les attributs non list�s dans cette table ne sont pas g�r�s ou ne sont pas utilis�s.

Widget Attribute Usage
Qt::WA_SetLayoutDirection D�fini par setLayoutDirection(), d�finition annul�e unsetLayoutDirection(). Vous pouvez tester cet attribut pour v�rifier qu'une layoutDirection a �t� explicitement affect�e au widget. Si l'attribut n'est pas d�fini, la layoutDirection() est h�rit�e.
Qt::WA_RightToLeft Activ� ou d�sactiv� par setLayoutDirection(). H�rit� du parent ou de la sc�ne. Si activ�s, les widgets dispos�s horizontalement dans le layout du widget seront plac�s de la droite vers la gauche.
Qt::WA_SetStyle Activ� et d�sactiv� par setStyle(). Si cet attribut est activ�, un style a �t� affect� au widget. S'il est d�sactiv�, le widget va utiliser le style de la sc�ne ou de l'application.
Qt::WA_Resized Activ� par setGeometry() et resize().
Qt::WA_SetPalette Activ� par setPalette().
Qt::WA_SetFont Activ� par setPalette().
Qt::WA_WindowPropagation Active la propagation aux widgets fen�tres.

Bien que QGraphicsWidget h�rite � la fois de QObject et de QGraphicsItem, il faut utiliser les fonctions fournies par QGraphicsItem, et pas celles de QObject, pour g�rer les relations entre parents et enfants. Ces fonctions contr�lent �galement l'ordre d'empilage des �l�ments, en plus de leur parent�.

Note : QObject::parent() devrait toujours renvoyer 0 pour les QGraphicsWidgets mais cette r�gle n'est pas strictement d�finie.

Voir aussi QGraphicsProxyWidget, QGraphicsItem et Widgets et Layouts.

Propri�t�s

autoFillBackground : bool

Cette propri�t� correspond � l'activation du remplissage automatique de l'arri�re-plan du widget.

Si elle est activ�e, cette propri�t� fera que Qt remplira l'arri�re-plan du widget avant d'invoquer la m�thode paint(). La couleur utilis�e est celle du r�le QPalette::Window de la palette du widget.

De plus, les widgets de type Windows (fen�tres) sont toujours remplis avec QPalette::Window, sauf si les attributs WA_OpaquePaintEvent ou WA_NoSystemBackground sont activ�s.

Par d�faut, cette propri�t� est ‹false›.

Cette propri�t� a �t� introduite dans Qt 4.7.

Fonctions d'acc�s

bool autoFillBackground () const

void setAutoFillBackground ( bool enabled )

Voir aussi Qt::WA_OpaquePaintEvent et Qt::WA_NoSystemBackground.

focusPolicy : Qt::FocusPolicy

Cette propri�t� sp�cifie la fa�on dont le widget accepte le focus clavier.

La r�gle de gestion du focus est Qt::TabFocus si le widget accepte le focus clavier par tabulation, Qt::ClickFocus si le widget accepte le focus par clic, Qt::StrongFocus s'il accepte les deux et Qt::NoFocus (la valeur par d�faut) s'il n'accepte pas le focus.

Vous devez activer le focus clavier du widget s'il traite les �v�nements clavier. Cette activation est g�n�ralement faite depuis le constructeur du widget. Par exemple, le constructeur de QLineEdit appelle setFocusPolicy(Qt::StrongFocus).

Si vous activez une r�gle de gestion du focus (c'est-�-dire, autre que Qt::NoFocus), QGraphicsWidget activera automatiquement le drapeau ItemIsFocusable. Sp�cifier Qt::NoFocus pour un widget d�sactivera le drapeau ItemIsFocusable, et si le widget poss�de le focus clavier, il le perdra automatiquement.

Fonctions d'acc�s

Qt::FocusPolicy focusPolicy () const

void setFocusPolicy ( Qt::FocusPolicy policy )

Voir aussi focusInEvent(), focusOutEvent(), keyPressEvent(), keyReleaseEvent() et enabled.

font : QFont

Cette propri�t� contient la police de caract�res du widget.

Cette propri�t� fournit la police du widget.

QFont est compos� de propri�t�s de police explicitement d�finies et de propri�t�s h�rit�es implicitement du parent du widget. Par cons�quent, font() peut renvoyer une police diff�rente de celle d�finie par setFont(). Cette organisation vous permet de d�finir des entr�es particuli�res dans une police sans affecter les entr�es h�rit�es de la police.

Quand la police d'un widget change, il r�sout ses entr�es avec son widget parent. Si le widget n'a pas de widget parent, il r�sout ses entr�es avec la sc�ne. Le widget s'envoie ensuite � lui-m�me un �v�nement FontChange et notifie � ses descendants afin qu'ils puissent �galement r�soudre leur police.

Par d�faut, cette propri�t� contient la police par d�faut de l'application.

Fonctions d'acc�s

QFont font () const

void setFont ( const QFont & font )

Voir aussi QApplication::font(), QGraphicsScene::font et QFont::resolve().

geometry : QRectF

Cette propri�t� contient la g�om�trie du widget.

D�finit rect comme g�om�trie de l'�l�ment. La position et la taille de l'�l�ment sont modifi�es suite � l'appel de cette fonction. L'�l�ment est d'abord d�plac�, puis redimensionn�.

Un effet secondaire de l'appel de cette fonction est que le widget recevra un �v�nement de d�placement et un �v�nement de redimensionnement. De plus, si le widget est associ� � une disposition (layout), la disposition va s'activer.

Fonctions d'acc�s

virtual void setGeometry ( const QRectF & rect )

void setGeometry ( qreal x, qreal y, qreal w, qreal h )

Signal de notification :

void geometryChanged ()

Voir aussi geometry() et resize().

layout : QGraphicsLayout *

Cette propri�t� contient la disposition associ�e au widget.

Un �ventuel gestionnaire de disposition pr�existant sera supprim� avant l'ajout de la nouvelle disposition. Si layout vaut 0, le widget n'aura plus de disposition associ�e. Les g�om�tries des sous-widgets existants ne seront pas affect�es.

QGraphicsWidget devient propri�taire de layout.

Tous les widgets actuellement g�r�s par layout ou une de ses sous-dispositions deviennent automatiquement des enfants de cet �l�ment. La disposition est alors invalid�e et les g�om�tries des widgets enfants sont ajust�es en fonction de la geometry() et des contentsMargins() de cet �l�ment. Les enfants qui ne sont pas explicitement g�r�s par layout restent ind�pendants de layout apr�s qu'il ait �t� affect� � ce widget.

Si aucune disposition n'est affect�e � ce widget, layout() renverra 0.

Fonctions d'acc�s

QGraphicsLayout * layout () const

void setLayout ( QGraphicsLayout * layout )

layoutDirection : Qt::LayoutDirection

Cette propri�t� contient la direction de la disposition pour ce widget.

Cette propri�t� modifie l'attribut Qt::WA_RightToLeft de ce widget et de tous ses descendants. Il active aussi l'attribut Qt::WA_SetLayoutDirection.

La direction de la disposition d�termine l'ordre dans lequel le gestionnaire de disposition place horizontalement les sous-widgets de ce widget. La valeur par d�faut d�pend de la langue et de la localisation de l'application et est typiquement dans la m�me direction que celle de lecture et d'�criture des mots. Avec Qt::LeftToRight, les sous-widgets sont plac�s de la gauche du widget vers la droite. Qt::RightToLeft fait le contraire, les widgets sont plac�s depuis le bord droit vers la gauche.

Les sous-widgets h�ritent leur direction de disposition du parent. Les widgets de premier niveau h�ritent leur direction de disposition de QGraphicsScene::layoutDirection. Si vous changez la direction par un appel de setLayoutDirection(), le widget s'enverra � lui-m�me un �v�nement LayoutDirectionChange et propagera ensuite la nouvelle direction � tous ses descendants.

Fonctions d'acc�s

Qt::LayoutDirection layoutDirection () const

void setLayoutDirection ( Qt::LayoutDirection direction )

void unsetLayoutDirection ()

Voir aussi QWidget::layoutDirection et QApplication::layoutDirection.

maximumSize : const QSizeF

Cette propri�t� contient la taille maximale du widget.

Voir aussi setMaximumSize(), maximumSize(), minimumSize et preferredSize.

minimumSize : const QSizeF

Cette propri�t� contient la taille minimale du widget.

Voir aussi setMinimumSize(), minimumSize(), preferredSize et maximumSize.

palette : QPalette

Cette propri�t� contient la palette du widget.

La palette fournit des couleurs et des brosses pour des groupes de couleurs (par exemple, QPalette::Button) et pour les �tats (par exemple, QPalette::Inactive), d�finissant approximativement l'apparence g�n�rale du widget et de ses enfants.

QPalette comprend des groupes de couleurs ayant �t� d�finis explicitement et des groupes h�rit�s implicitement depuis le parent du widget. En cons�quence, palette() peut renvoyer une palette diff�rente de celle qui a �t� sp�cifi�e par setPalette(). Cette organisation vous permet de d�finir des entr�es particuli�res dans une palette sans affecter les entr�es h�rit�es de la palette.

Quand la palette d'un widget change, il r�sout ses entr�es avec son widget parent. Si le widget n'a pas de widget parent, il r�sout ses entr�es avec la sc�ne. Le widget s'envoie ensuite � lui-m�me un �v�nement PaletteChange et notifie � ses descendants afin qu'ils puissent �galement r�soudre leur palette.

Par d�faut, cette propri�t� contient la palette par d�faut de l'application.

Fonctions d'acc�s

QPalette palette () const

void setPalette ( const QPalette & palette )

Voir aussi QApplication::palette(), QGraphicsScene::palette et QPalette::resolve().

preferredSize : const QSizeF

Cette propri�t� contient la taille pr�f�r�e du widget.

Voir aussi setPreferredSize(), preferredSize(), minimumSize et maximumSize.

size : QSizeF

Cette propri�t� contient la taille du widget.

L'appel de resize() redimensionne le widget � une taille size born�e par minimumSize() et maximumSize(). Cette propri�t� affecte seulement la largeur et la hauteur du widget (c'est-�-dire ses bords inf�rieur et droit) ; la position du widget et son coin sup�rieur gauche ne sont pas affect�s.

Le redimensionnement d'un widget d�clenche un envoi imm�diat au widget d'un �v�nement GraphicsSceneResize avec les tailles nouvelle et ancienne du widget. Si le widget est associ� � une disposition (layout) au moment de l'�v�nement, la disposition va s'activer et va automatiquement mettre � jour la g�om�trie des widgets enfants.

Cette propri�t� n'affecte pas la disposition du widget parent. Si le widget lui-m�me est g�r� par la disposition du parent (par exemple, si une disposition a �t� affect�e au widget parent), cette disposition ne s'activera pas.

Par d�faut, cette propri�t� contient une taille avec une largeur et une hauteur � z�ro.

Fonctions d'acc�s

QSizeF size () const

void resize ( const QSizeF & size )

void resize ( qreal w, qreal h )

Signal de notification :

void geometryChanged ()

Voir aussi setGeometry(), QGraphicsSceneResizeEvent et QGraphicsLayout.

sizePolicy : const QSizePolicy

Cette propri�t� contient les r�gles de taille pour le widget.

Voir aussi sizePolicy(), setSizePolicy() et QWidget::sizePolicy().

windowFlags : Qt::WindowFlags

Cette propri�t� contient les drapeaux de fen�tre du widget.

Les drapeaux de fen�tre sont une combinaison d'un type de fen�tre (par exemple, Qt::Dialog) et de plusieurs drapeaux donnant des indications sur le comportement de la fen�tre. Ce comportement est d�pendant de la plateforme.

Par d�faut, cette propri�t� ne contient pas de drapeau de fen�tre.

Les fen�tres sont des panneaux. Si vous activez le drapeau Qt::Window, le drapeau ItemIsPanel sera activ� automatiquement. Si vous d�sactivez le drapeau Qt::Window, le drapeau ItemIsPanel sera �galement d�sactiv�. Notez que le drapeau ItemIsPanel peut �tre activ� ind�pendamment de Qt::Window.

Fonctions d'acc�s

Qt::WindowFlags windowFlags () const

void setWindowFlags ( Qt::WindowFlags wFlags )

Voir aussi isWindow() et isPanel().

windowTitle : QString

Cette propri�t� contient le titre de la fen�tre.

Cette propri�t� est uniquement utilis�e pour les fen�tres.

Par d�faut, si aucun titre n'a �t� sp�cifi�, cette propri�t� contient une cha�ne vide.

Fonctions d'acc�s

QString windowTitle () const

void setWindowTitle ( const QString & title )

Fonctions membres

QGraphicsWidget::QGraphicsWidget ( QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0 )

Construit une instance de QGraphicsWidget. L'argument optionnel parent est pass� au constructeur de QGraphicsItem. L'argument optionnel wFlags sp�cifie les drapeaux de fen�tre du widget (par exemple, si le widget doit �tre une fen�tre, une barre d'outils, une popup, etc.).

QGraphicsWidget::~QGraphicsWidget ()

D�truit l'instance de QGraphicsWidget.

QList<QAction *> QGraphicsWidget::actions () const

Renvoie la liste (�ventuellement vide) des actions du widget.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi insertAction(), removeAction(), QWidget::actions(), QAction::associatedWidgets() et QAction::associatedGraphicsWidgets().

void QGraphicsWidget::addAction ( QAction * action )

Ajoute l'action � la liste des actions du widget.

Tous les QGraphicsWidgets poss�dent une liste de QAction, cependant elles peuvent �tre repr�sent�es graphiquement de diff�rentes fa�ons. L'usage par d�faut de la liste des QAction (telle que renvoy�e par actions()) est de cr�er un QMenu contextuel.

Un QGraphicsWidget ne doit poss�der qu'un seul exemplaire de chaque action et l'ajout d'une action qu'il poss�de d�j� ne causera pas la duplication de cette action.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi removeAction(), insertAction(), actions() et QWidget::addAction().

void QGraphicsWidget::addActions ( QList<QAction *> actions )

Ajoute les actions � la liste des actions du widget.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi removeAction(), QMenu, addAction() et QWidget::addActions().

void QGraphicsWidget::adjustSize ()

Ajuste la taille du widget � sa taille pr�f�r�e effective.

Cette fonction est appel�e implicitement lorsque l'�l�ment est affich� pour la premi�re fois.

Voir aussi effectiveSizeHint() et Qt::MinimumSize.

QRectF QGraphicsWidget::boundingRect () const [virtual]

R�impl�mentation de QGraphicsItem::boundingRect().

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

Ce gestionnaire d'�v�nements peut �tre r�impl�ment� pour traiter les changements d'�tat.

event permet de conna�tre l'�tat qui a �t� chang� dans cet �v�nement.

Les �v�nements de changement incluent : QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::ParentChange, QEvent::LayoutDirectionChange et QEvent::ContentsRectChange.

bool QGraphicsWidget::close () [slot]

Appelez cette fonction pour fermer le widget.

Renvoie true si le widget a �t� ferm� ; sinon renvoie false. Cette fonction va d'abord envoyer un �v�nement QCloseEvent au widget, qui peut accepter ou non l'�v�nement. Si l'�v�nement a �t� ignor�, rien ne se passe. Si l'�v�nement a �t� accept�, le widget va �tre masqu�.

Si l'attribut Qt::WA_DeleteOnClose du widget est activ�, le widget sera supprim�.

void QGraphicsWidget::closeEvent ( QCloseEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour traiter les �v�nements de fermeture du widget. L'impl�mentation par d�faut accepte l'�v�nement.

Voir aussi close() et QCloseEvent.

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

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

Traite l'�v�nement event. QGraphicsWidget g�re les �v�nements suivants.

Polish Transmis au widget un certain temps apr�s qu'il ait �t� rendu visible.
GraphicsSceneMove Transmis au widget apr�s un changement de sa position locale.
GraphicsSceneResize Transmis au widget apr�s un changement de taille.
Show Transmis au widget avant qu'il ait �t� rendu visible.
Hide Transmis au widget apr�s qu'il ait �t� masqu�.
PaletteChange Transmis au widget apr�s un changement de palette.
FontChange Transmis au widget apr�s un changement de police de caract�res.
EnabledChange Transmis au widget apr�s un changement de son �tat d'activation.
StyleChange Transmis au widget apr�s un changement de style.
LayoutDirectionChange Transmis au widget apr�s un changement de direction de sa disposition.
ContentsRectChange Transmis au widget apr�s un changement de ses marges ou de son rectangle de contenu.

void QGraphicsWidget::focusInEvent ( QFocusEvent * event ) [virtual protected]

R�impl�mentation de QGraphicsItem::focusInEvent().

bool QGraphicsWidget::focusNextPrevChild ( bool next ) [virtual protected]

Trouve un nouveau widget auquel donner le focus clavier, pour la touche Tab ou pour Shift+Tab, et renvoie true si elle a trouv� un nouveau widget ; renvoie false sinon. Si next vaut true, cette fonction cherche en avant ; si next vaut false, elle cherche en arri�re.

Vous aurez parfois besoin de r�impl�menter cette fonction pour d�finir une gestion sp�ciale du focus pour votre widget et ses sous-widgets. Par exemple, un navigateur web pourrait la r�impl�menter pour d�placer le lien actif vers l'avant ou vers l'arri�re et n'appeler l'impl�mentation qu'en atteignant le premier ou le dernier lien de la page.

Les widgets enfants appellent focusNextPrevChild() sur leur widget parent mais seule la fen�tre contenant les widgets enfants d�cide d'o� rediriger le focus. En r�impl�mentant cette fonction pour un objet, vous prenez le contr�le de la travers�e du focus pour tous les widgets enfants.

Voir aussi focusPolicy().

void QGraphicsWidget::focusOutEvent ( QFocusEvent * event ) [virtual protected]

R�impl�mentation de QGraphicsItem::focusOutEvent().

QGraphicsWidget * QGraphicsWidget::focusWidget () const

Si ce widget, un enfant ou un descendant de ce widget poss�de actuellement le focus de saisie, cette fonction renverra un pointeur vers ce widget. Si aucun widget descendant ne poss�de le focus, elle renvoie 0.

Voir aussi QGraphicsItem::focusItem() et QWidget::focusWidget().

void QGraphicsWidget::geometryChanged () [signal]

Ce signal est �mis � chaque fois que la g�om�trie est chang�e dans setGeometry().

void QGraphicsWidget::getContentsMargins ( qreal * left, qreal * top, qreal * right, qreal * bottom ) const [virtual]

R�impl�mentation de QGraphicsLayoutItem::getContentsMargins().

Donne les marges du contenu du widget. Les marges sont enregistr�es dans left, top, right et bottom, qui sont des pointeurs vers des flottants. Chaque argument peut �tre « omis » en passant 0.

Voir aussi setContentsMargins().

void QGraphicsWidget::getWindowFrameMargins ( qreal * left, qreal * top, qreal * right, qreal * bottom ) const

Donne les marges de la bordure de fen�tre du widget. Les marges sont enregistr�es dans left, top, right et bottom, qui sont des pointeurs vers des flottants. Chaque argument peut �tre « omis » en passant 0.

Voir aussi setWindowFrameMargins() et windowFrameRect().

void QGraphicsWidget::grabKeyboardEvent ( QEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour recevoir les notifications pour les �v�nements Qt::GrabKeyboard.

Voir aussi grabKeyboard() et grabMouse().

void QGraphicsWidget::grabMouseEvent ( QEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour recevoir les notifications pour les �v�nements Qt::GrabMouse.

Voir aussi grabMouse() et grabKeyboard().

int QGraphicsWidget::grabShortcut ( const QKeySequence & sequence, Qt::ShortcutContext context = Qt::WindowShortcut )

Ajoute un raccourci au syst�me de raccourcis de Qt attach� � la s�quence de touches sequence dans le contexte context donn�. Si le contexte est Qt::ApplicationShortcut, le raccourci s'applique � l'application enti�re. Sinon, il est soit local � ce widget (Qt::WidgetShortcut) ou � la fen�tre elle-m�me (Qt::WindowShortcut). Pour les widgets ne faisant pas partie d'une fen�tre (c'est-�-dire, les widgets de premier niveau et leurs enfants), les raccourcis Qt::WindowShortcut s'appliquent � la sc�ne.

Si la m�me s�quence de touches a �t� captur�e par plusieurs widgets, lorsque la s�quence se produit, un �v�nement QEvent::Shortcut est envoy� � tous les widgets auxquels il s'applique, dans un ordre non d�terministe mais avec le drapeau ambiguous mis � true.

Attention : vous ne devriez pas avoir � utiliser cette fonction ; � la place, cr�ez des QAction avec les s�quences de raccourci que vous souhaitez (si vous voulez des options de menu et des boutons de barre d'outils �quivalents) ou cr�ez des QShortcuts si vous avez juste besoin des s�quences de touches. QAction et QShortcut g�rent toutes les deux le filtrage des �v�nements pour vous et fournissent des signaux qui sont d�clench�s lorsque l'utilisateur d�clenche la s�quence de touches, donc sont beaucoup plus faciles � utiliser que cette fonction de bas niveau.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi releaseShortcut(), setShortcutEnabled() et QWidget::grabShortcut().

void QGraphicsWidget::hideEvent ( QHideEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour les �v�nements Hide, est transmis apr�s que le widget ait �t� cach�, par exemple si setVisible(false) a �t� appel� pour ce widget ou un de ses anc�tres alors que le widget �tait pr�c�demment visible.

Vous pouvez r�impl�menter ce gestionnaire d'�v�nements pour d�tecter le masquage de votre widget. L'appel de QEvent::accept() ou QEvent::ignore() sur event n'a pas d'effet.

Voir aussi showEvent(), QWidget::hideEvent() et ItemVisibleChange.

void QGraphicsWidget::hoverLeaveEvent ( QGraphicsSceneHoverEvent * event ) [virtual protected]

R�impl�mentation de QGraphicsItem::hoverLeaveEvent().

void QGraphicsWidget::hoverMoveEvent ( QGraphicsSceneHoverEvent * event ) [virtual protected]

R�impl�mentation de QGraphicsItem::hoverMoveEvent().

void QGraphicsWidget::initStyleOption ( QStyleOption * option ) const [virtual protected]

Renseigne un objet option de style pour ce widget bas� sur son �tat courant et enregistre le r�sultat dans option. L'impl�mentation par d�faut renseigne option avec les propri�t�s suivantes.

Propri�t� de l'option de style Valeur
state & QStyle::State_Enabled Correspond � QGraphicsItem::isEnabled().
state & QStyle::State_HasFocus Correspond � QGraphicsItem::hasFocus().
state & QStyle::State_MouseOver Correspond � QGraphicsItem::isUnderMouse().
direction Correspond � QGraphicsWidget::layoutDirection().
rect Correspond � QGraphicsWidget::rect().toRect().
palette Correspond � QGraphicsWidget::palette().
fontMetrics Correspond � QFontMetrics(QGraphicsWidget::font()).

Les classes d�riv�es de QGraphicsWidget doivent appeler l'impl�mentation de base et ensuite tester le type d'option en utilisant qstyleoption_cast<>() ou tester QStyleOption::Type avant d'enregistrer des options sp�cifiques au widget.

Par exemple :

 void MyGroupBoxWidget::initStyleOption(QStyleOption *option) const
 {
     QGraphicsWidget::initStyleOption(option);
     if (QStyleOptionGroupBox *box = qstyleoption_cast<QStyleOptionGroupBox *>(option)) {
         // Ajout de l'�tat sp�cifique � la GroupBox.
         box->flat = isFlat();
         ...
     }
 }

Voir aussi QStyleOption::initFrom().

void QGraphicsWidget::insertAction ( QAction * before, QAction * action )

Ins�re l'action action � la liste des actions de ce widget, avant l'action before. Ajoute l'action m�me si before est 0 ou si before n'est pas une action valide pour ce widget.

Un QGraphicsWidget ne doit poss�der qu'un exemplaire de chaque action.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi removeAction(), addAction(), QMenu, actions() et QWidget::insertActions().

void QGraphicsWidget::insertActions ( QAction * before, QList<QAction *> actions )

Ins�re les actions action � la liste des actions de ce widget, avant l'action before. Ajoute l'action m�me si before est 0 ou si before n'est pas une action valide pour ce widget.

Un QGraphicsWidget ne doit poss�der qu'un exemplaire de chaque action.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi removeAction(), QMenu, insertAction() et QWidget::insertActions().

bool QGraphicsWidget::isActiveWindow () const

Renvoie true si la fen�tre de ce widget est dans la fen�tre active ou si le widget n'a pas de fen�tre mais est dans une sc�ne active (c'est-�-dire une sc�ne qui poss�de actuellement le focus).

La fen�tre active est la fen�tre qui, soit contient un widget enfant poss�dant actuellement le focus de saisie, soit poss�de elle-m�me le focus de saisie.

Voir aussi QGraphicsScene::activeWindow(), QGraphicsScene::setActiveWindow() et isActive().

QVariant QGraphicsWidget::itemChange ( GraphicsItemChange change, const QVariant & value ) [virtual protected]

R�impl�mentation de QGraphicsItem::itemChange().

QGraphicsWidget utilise l'impl�mentation de base de cette fonction pour capturer et transmettre les �v�nements li�s aux changements d'�tat dans l'�l�ment. Pour cette raison, il est tr�s important que les classes d�riv�es appellent l'impl�mentation de base.

change sp�cifie le type de changement et value est la nouvelle valeur.

Par exemple, QGraphicsWidget utilise ItemVisibleChange pour envoyer les �v�nements Show et Hide, ItemPositionHasChanged pour envoyer les �v�nements Move et ItemParentChange � la fois pour envoyer les �v�nements ParentChange et pour g�rer la cha�ne de focus.

QGraphicsWidget active le drapeau ItemSendsGeometryChanges par d�faut afin de suivre les changements de position.

Voir aussi QGraphicsItem::itemChange().

void QGraphicsWidget::moveEvent ( QGraphicsSceneMoveEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour les �v�nements GraphicsSceneMove], est appel� apr�s un d�placement du widget (par exemple, si sa position locale a chang�). Cet �v�nement est transmis seulement si l'�l�ment est d�plac� localement. L'appel de [[qgraphicsitem::setTransform|setTransform() ou le d�placement des anc�tres de l'�l�ment n'affecte pas la position locale de l'�l�ment.

Vous pouvez r�impl�menter ce gestionnaire d'�v�nements pour d�tecter si votre widget est d�plac�. L'appel de QEvent::accept() ou QEvent::ignore() sur event n'a pas d'effet.

Voir aussi ItemPositionChange et ItemPositionHasChanged.

void QGraphicsWidget::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 ) [virtual]

R�impl�mentation de QGraphicsItem::paint().

void QGraphicsWidget::paintWindowFrame ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 ) [virtual]

Cette fonction virtuelle est appel�e par QGraphicsScene pour le dessin de la bordure des fen�tres en utilisant painter, option et widget, en coordonn�es locales. L'impl�mentation de base utilise le style courant pour le rendu de la bordure et de la barre de titre.

Vous pouvez r�impl�menter cette fonction dans une classe d�riv�e de QGraphicsWidget pour fournir un rendu personnalis� de la bordure de fen�tre du widget.

Voir aussi QGraphicsItem::paint().

void QGraphicsWidget::polishEvent () [virtual protected]

Cet �v�nement est transmis � l'�l�ment par la sc�ne apr�s qu'il ait �t� construit mais avant qu'il ait �t� affich� ou acc�d� � travers la sc�ne. Vous pouvez utiliser ce gestionnaire d'�v�nements pour des initialisations finales du widget n�cessitant une construction compl�te de l'�l�ment.

L'impl�mentation de base ne fait rien.

QRectF QGraphicsWidget::rect () const

Renvoie le rectangle local de l'�l�ment sous forme d'un QRectF. Cette fonction est �quivalente � QRectF(QPointF(), size()).

Voir aussi setGeometry() et resize().

void QGraphicsWidget::releaseShortcut ( int id )

Retire le raccourci poss�dant l'identifiant id donn� du syst�me de raccourcis de Qt. Le widget ne recevra plus d'�v�nements QEvent::Shortcut pour la s�quence de touches de l'�v�nement (sauf s'il poss�de d'autres raccourcis sur la m�me s�quence).

Attention : vous ne devriez pas avoir � utiliser cette fonction �tant donn� que le syst�me de raccourcis de Qt retire automatiquement les raccourcis quand leur widget parent est d�truit. Il est pr�f�rable d'utiliser QAction ou QShortcut pour g�rer les raccourcis, �tant donn� qu'ils sont plus faciles � utiliser que cette fonction de bas niveau. Notez �galement que cette op�ration est co�teuse.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi grabShortcut(), setShortcutEnabled() et QWidget::releaseShortcut().

void QGraphicsWidget::removeAction ( QAction * action )

Retire l'action action de la liste des actions de ce widget.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi insertAction(), actions(), insertAction() et QWidget::removeAction().

void QGraphicsWidget::resizeEvent ( QGraphicsSceneResizeEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour les �v�nements GraphicsSceneResize, est appel� apr�s que le widget ait �t� redimensionn� (c'est-�-dire, que sa taille locale ait chang�). event contient � la fois l'ancienne et la nouvelle taille.

Cet �v�nement n'est envoy� que si le widget est redimensionn� localement ; l'appel de setTransform() sur le widget ou un de ses anc�tres ou sa vue, n'affecte pas la taille locale du widget.

Vous pouvez r�impl�menter ce gestionnaire d'�v�nements pour d�tecter les redimensionnements de vos widgets. L'appel de QEvent::accept() ou QEvent::ignore() sur event n'a pas d'effet.

Voir aussi geometry() et setGeometry().

bool QGraphicsWidget::sceneEvent ( QEvent * event ) [virtual protected]

R�impl�mentation de QGraphicsItem::sceneEvent().

L'impl�mentation de sceneEvent() par QGraphicsWidget passe simplement eventQGraphicsWidget::event(). Vous pouvez traiter tous les �v�nements de votre widget dans event() ou dans une des fonctions utilitaires apparent�es ; vous ne devriez pas avoir � r�impl�menter cette fonction dans une classe d�riv�e de QGraphicsWidget.

Voir aussi QGraphicsItem::sceneEvent().

void QGraphicsWidget::setAttribute ( Qt::WidgetAttribute attribute, bool on = true )

Si on vaut true, cette fonction active attribute ; sinon attribute est d�sactiv�.

Voir la documentation de la classe QGraphicsWidget pour une liste compl�te des attributs qui sont g�r�s et de ceux qui ne le sont pas.

Voir aussi testAttribute() et QWidget::setAttribute().

void QGraphicsWidget::setContentsMargins ( qreal left, qreal top, qreal right, qreal bottom )

Fixe les valeurs de marge de contenu du widget � left, top, right et bottom.

Les marges de contenu sont utilis�es par la disposition (layout) affect�e au widget pour d�finir le placement des sous-widgets et dispositions. Les marges sont particuli�rement utiles pour les widgets qui contraignent leurs sous-widgets � n'occuper qu'une portion de leur propre g�om�trie. Par exemple, une bo�te de groupement (group box) avec une disposition va placer les sous-widgets dans son cadre mais sous le titre.

Le changement des marges de contenu d'un widget d�clenchera syst�matiquement un update() et une disposition affect�e sera automatiquement activ�e. Le widget recevra alors un �v�nement ContentsRectChange.

Voir aussi getContentsMargins() et setGeometry().

void QGraphicsWidget::setShortcutAutoRepeat ( int id, bool enabled = true )

Si enabled vaut true, la r�p�tition automatique du raccourci ayant l'indentifiant id est activ�e ; sinon elle est d�sactiv�e.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi grabShortcut(), releaseShortcut() et QWidget::setShortcutAutoRepeat().

void QGraphicsWidget::setShortcutEnabled ( int id, bool enabled = true )

Si enabled vaut true, le raccourci ayant l'indentifiant id est activ� ; sinon il est d�sactiv�.

Attention : vous ne devriez pas avoir � utiliser cette fonction �tant donn� que le syst�me de raccourcis de Qt active/d�sactive automatiquement les raccourcis quand leur widget devient visible/invisible ou obtient/perd le focus. Il est pr�f�rable d'utiliser QAction ou QShortcut pour g�rer les raccourcis, �tant donn� qu'ils sont plus faciles � utiliser que cette fonction de bas niveau.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi grabShortcut(), releaseShortcut() et QWidget::setShortcutEnabled().

void QGraphicsWidget::setStyle ( QStyle * style )

Sp�cifie style comme style du widget. QGraphicsWidget ne devient pas propri�taire de style.

Si aucun style n'est affect� ou si style vaut 0, le widget utilisera QGraphicsScene::style() (s'il a �t� d�fini). Sinon le widget utilisera QApplication::style().

Cette fonction active l'attribut Qt::WA_SetStyle si style est diff�rent de 0 ; sinon il d�sactive l'attribut.

Voir aussi style().

void QGraphicsWidget::setTabOrder ( QGraphicsWidget * first, QGraphicsWidget * second ) [static]

D�place le widget second dans la liste circulaire des focus des widgets afin que le focus clavier se d�place du widget first au widget second lorsque la touche de tabulation est appuy�e.

Notez qu'�tant donn� que l'ordre de tabulation du widget second est modifi�, vous devez ordonner une cha�ne de cette fa�on :

 setTabOrder(a, b); // a => b
 setTabOrder(b, c); // a => b => c
 setTabOrder(c, d); // a => b => c => d

et non de cette fa�on :

 // FAUX
 setTabOrder(c, d); // c => d
 setTabOrder(a, b); // a => b ET c => d
 setTabOrder(b, c); // a => b => c mais pas c => d

Si first vaut 0, cela indique que second devrait �tre le premier widget � recevoir le focus de saisie lorsque la sc�ne obtient le focus par tabulation (c'est-�-dire, lorsque l'utilisateur utilise Tab et qu'en cons�quence le focus est donn� � la sc�ne). Si second vaut 0, cela indique que first doit �tre le premier widget � obtenir le focus lorsque la sc�ne obtient le focus par tabulation arri�re.

Par d�faut, l'ordre de tabulation est d�fini implicitement par l'ordre de cr�ation des widgets.

Voir aussi focusPolicy et Keyboard Focus.

void QGraphicsWidget::setWindowFrameMargins ( qreal left, qreal top, qreal right, qreal bottom )

Sp�cifie left, top, right et bottom comme marges de bordure de fen�tre du widget. Les marges de bordure par d�faut sont fournies par le style et d�pendent des drapeaux de fen�tre par d�faut.

Si vous souhaitez dessiner vos propres d�corations de fen�tre, vous pouvez d�finir vos propres marges de bordure en remplacement des marges par d�faut.

Voir aussi unsetWindowFrameMargins(), getWindowFrameMargins() et windowFrameRect().

QPainterPath QGraphicsWidget::shape () const [virtual]

R�impl�mentation de QGraphicsItem::shape().

void QGraphicsWidget::showEvent ( QShowEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour les �v�nements Show, est appel� avant que le widget ait �t� affich�, par exemple si setVisible(true) a �t� appel� pour ce widget ou un de ses anc�tres alors que le widget �tait pr�c�demment cach�.

Vous pouvez r�impl�menter ce gestionnaire d'�v�nements pour d�tecter que votre widget devient visible. L'appel de QEvent::accept() ou QEvent::ignore() sur event n'a pas d'effet.

Voir aussi hideEvent(), QWidget::showEvent() et ItemVisibleChange.

QSizeF QGraphicsWidget::sizeHint ( Qt::SizeHint which, const QSizeF & constraint = QSizeF() ) const [virtual protected]

R�impl�mentation de QGraphicsLayoutItem::sizeHint().

QStyle * QGraphicsWidget::style () const

Renvoie un pointeur vers le style du widget. Si ce widget n'a pas de style explicitement sp�cifi�, la fonction renvoie le style de la sc�ne, et si la sc�ne n'a pas non plus de style explicitement sp�cifi�, elle renvoie QApplication::style().

Voir aussi setStyle().

bool QGraphicsWidget::testAttribute ( Qt::WidgetAttribute attribute ) const

Renvoie true si attribute est activ� pour ce widget ; sinon, renvoie false.

Voir aussi setAttribute().

int QGraphicsWidget::type () const [virtual]

R�impl�mentation de QGraphicsItem::type().

void QGraphicsWidget::ungrabKeyboardEvent ( QEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour recevoir les notifications des �v�nements Qt::UngrabKeyboard.

Voir aussi ungrabKeyboard() et ungrabMouse().

void QGraphicsWidget::ungrabMouseEvent ( QEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour event, peut �tre r�impl�ment� dans une classe d�riv�e pour recevoir les notifications des �v�nements Qt::UngrabMouse.

Voir aussi ungrabMouse() et ungrabKeyboard().

void QGraphicsWidget::unsetWindowFrameMargins ()

R�initialise les marges de bordure de la fen�tre � la valeur par d�faut, fournie par le style.

Voir aussi setWindowFrameMargins(), getWindowFrameMargins() et windowFrameRect().

void QGraphicsWidget::updateGeometry () [virtual protected]

R�impl�mentation de QGraphicsLayoutItem::updateGeometry().

Si ce widget est actuellement g�r� par une disposition (layout), cette fonction notifie la disposition que les indications de taille du widget ont chang� et que la disposition peut devoir redimensionner et repositionner le widget en cons�quence.

Appelez cette fonction si le sizeHint() du widget a chang�.

Voir aussi QGraphicsLayout::invalidate().

bool QGraphicsWidget::windowFrameEvent ( QEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour event, re�oit les �v�nements pour la bordure de fen�tre si le widget est une fen�tre. Son impl�mentation de base g�re les interactions de fen�tre par d�faut comme le d�placement, le redimensionnement, etc.

Vous pouvez r�impl�menter ce gestionnaire dans une classe d�riv�e de QGraphicsWidget pour fournir votre propre gestion de l'interaction avec la bordure de fen�tre.

Renvoie true si event a �t� reconnu et trait� ; sinon, renvoie false.

Voir aussi event().

QRectF QGraphicsWidget::windowFrameGeometry () const

Renvoie la g�om�trie du widget en coordonn�es du parent en incluant une �ventuelle bordure.

Voir aussi windowFrameRect(), getWindowFrameMargins() et setWindowFrameMargins().

QRectF QGraphicsWidget::windowFrameRect () const

Renvoie le rectangle local du widget, incluant une �ventuelle bordure.

Voir aussi windowFrameGeometry(), getWindowFrameMargins() et setWindowFrameMargins().

Qt::WindowFrameSection QGraphicsWidget::windowFrameSectionAt ( const QPointF & pos ) const [virtual protected]

Renvoie la section de bordure de fen�tre � la position pos ou Qt::NoSection s'il n'existe pas de section de bordure de fen�tre � cette position.

Cette fonction est utilis�e dans l'impl�mentation de base de QGraphicsWidget pour l'interaction avec les bordures de fen�tre.

Vous pouvez r�impl�menter cette fonction si vous d�sirez modifier la fa�on dont une fen�tre peut �tre interactivement d�plac�e ou redimensionn�e. Par exemple, si vous ne voulez autoriser le redimensionnement que depuis le coin inf�rieur droit, vous pouvez r�impl�menter cette fonction pour renvoyer Qt::NoSection pour toutes les sections sauf Qt::BottomRightSection.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi windowFrameEvent(), paintWindowFrame() et windowFrameGeometry().

Qt::WindowType QGraphicsWidget::windowType () const

Renvoie le type de fen�tre du widget.

Voir aussi windowFlags(), isWindow() et isPanel().

Remerciements

Merci � Ilya Diallo pour la traduction ainsi qu'� Jonathan Courtois et Claude Leloup pour leur relecture !

Publicit�

Best Of

Actualit�s les plus lues

Semaine
Mois
Ann�e
  1. � Quelque chose ne va vraiment pas avec les d�veloppeurs "modernes" �, un d�veloppeur � "l'ancienne" critique la multiplication des biblioth�ques 64
  2. Apercevoir la troisi�me dimension ou l'utilisation multithread�e d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les d�veloppeurs ignorent-ils trop les failles d�couvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. BlackBerry 10 : premi�res images du prochain OS de RIM qui devrait int�grer des widgets et des tuiles inspir�es de Windows Phone 0
  5. Quelles nouveaut�s de C++11 Visual C++ doit-il rapidement int�grer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil d�claratif et extensible pour la compilation de projets Qt 17
  7. La rubrique Qt a besoin de vous ! 1
Page suivante

Le Qt Labs au hasard

Logo

Le moteur de rendu OpenVG

Les Qt Labs sont les laboratoires des d�veloppeurs de Qt, o� ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait �tre son futur. Lire l'article.

Communaut�

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la r�daction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

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 © 2012 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 !
 
 
 
 
Partenaires

H�bergement Web