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  · 

QGraphicsItem

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

#include <QGraphicsItem>

Voir la position dans l'arbre des classes.

  

H�ritage

H�rit� par QAbstractGraphicsShapeItem, QGraphicsItemGroup, QGraphicsLineItem, QGraphicsObject et QGraphicsPixmapItem.

Cette classe a �t� introduite dans Qt 4.2.

Description d�taill�e

La classe QGraphicsItem est la classe de base pour tous les �l�ments graphiques de QGraphicsScene.

Elle fournit une fondation l�g�re pour la cr�ation de vos propres �l�ments personnalis�s. Cela inclut la d�finition de la g�om�trie de l'�l�ment, la d�tection de collision, l'impl�mentation de son dessin et les interactions � travers ses gestionnaires d'�v�nements. QGraphicsItem fait partie du framework Graphics View.

image

Par commodit�, Qt fournit un jeu d'�l�ments graphiques standard pour les formes les plus courantes. Ce sont :

Toute l'information g�om�trique d'un �l�ment est bas�e sur son syst�me de coordonn�es local. La position de l'�l�ment, pos(), est la seule fonction qui n'op�re pas en coordonn�es locales, elle renvoie une position en coordonn�es parent. Le syst�me de coordonn�es de la vue graphique d�crit le syst�me de coordonn�es en d�tails.

Vous pouvez d�finir si un �l�ment doit �tre visible (c'est-�-dire dessiner et acceptant les �v�nements) en appelant setVisible(). Cacher un �l�ment cache aussi ses enfants. De la m�me fa�on, vous pouvez activer ou d�sactiver un �l�ment en appelant setEnabled(). Si vous d�sactivez un �l�ment, tous ses enfants seront �galement d�sactiv�s. Par d�faut, les �l�ments sont visibles et actifs. Pour changer l'�tat de s�lection d'un �l�ment, autorisez d'abord la s�lection en activant le drapeau ItemIsSelectable et ensuite appelez setSelected(). Normalement, l'�tat s�lectionn� est modifi� par la sc�ne en r�ponse aux interactions utilisateurs.

Pour �crire votre propre �l�ment graphique, vous cr�ez d'abord une classe d�riv�e de QGraphicsItem et ensuite impl�mentez ses deux fonctions virtuelles pures : boundingRect(), qui renvoie une estimation de la r�gion occup�e par le dessin de l'objet et paint(), qui impl�mente le dessin lui-m�me. Par exemple :

 class SimpleItem : public QGraphicsItem
 {
 public:
     QRectF boundingRect() const
     {
         qreal penWidth = 1;
         return QRectF(-10 - penWidth / 2, -10 - penWidth / 2,
                       20 + penWidth, 20 + penWidth);
     }
 
     void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
                QWidget *widget)
     {
         painter->drawRoundedRect(-10, -10, 20, 20, 5, 5);
     }
 };

La fonction boundingRect() a de nombreux usages. QGraphicsScene base son index d'�l�ments sur boundingRect() et QGraphicsView l'utilise � la fois pour �liminer les objets invisibles et pour d�terminer la zone qui doit �tre recompos�e lors du dessin d'�l�ments superpos�s. De plus, les m�canismes de d�tection de collision de QGraphicsItem utilisent boundingRect() pour limiter leur port�e. L'algorithme de collision fin de collidesWithItem() est bas� sur l'appel de shape(), qui renvoie la fronti�re pr�cise de l'�l�ment sous la forme d'un QPainterPath.

QGraphicsScene s'attend � ce que les boundingRect() et shape() des �l�ments restent inchang�s tant qu'elle ne re�oit pas de notification. Si vous voulez effectuer un changement quelconque de g�om�trie sur un �l�ment, vous devez d'abord appeler prepareGeometryChange() pour que QGraphicsScene puisse mettre � jour ses informations.

La d�tection de collision peut se faire de deux fa�ons :

  1. R�impl�menter shape() pour renvoyer la forme pr�cise de l'�l�ment et compter sur collidesWithItem() pour calculer l'intersection forme-forme. Ceci peut �tre co�teux si les formes sont complexes ;
  2. R�impl�menter collidesWithItem() pour fournir votre propre algorithme de collision entre �l�ment et forme.

La fonction contains() peut �tre appel�e pour d�terminer si un �l�ment contient un point ou non. Cette fonction peut aussi �tre r�impl�ment�e par l'�l�ment. Le comportement par d�faut de contains() est bas� sur l'appel de shape().

Les �l�ments peuvent contenir d'autres �l�ments et peuvent aussi �tre contenus par d'autres �l�ments. Tous les �l�ments peuvent avoir un parent et une liste d'enfants. La position de l'�l�ment est en coordonn�es parent (c'est-�-dire dans les coordonn�es locales du parent), sauf s'il n'a pas de parent. Les parent propagent � la fois leur position et leur transformation � leurs enfants.

image

Transformations

QGraphicsItem permet l'ajout de transformations projectives � sa position, pos(). La transformation d'un �l�ment peut �tre modifi�e de plusieurs fa�ons. Pour les transformations simples, vous pouvez appeler les fonctions setRotation() ou setScale() ou vous pouvez passer une matrice de transformation quelconque � setTransform(). Vous avez �galement la possibilit� de combiner plusieurs transformations, pour un contr�le de transformation avanc�, gr�ce � setTransformations().

Les transformations d'�l�ments se propagent de parent � enfant, donc si parent et enfant sont tourn�s chacun � 90 degr�s, la rotation totale de l'enfant sera de 90 degr�s. De m�me, si le parent d'un �l�ment est agrandi � deux fois sa taille, l'enfant doublera aussi de taille. La transformation d'un �l�ment n'affecte pas sa g�om�trie locale ; toutes les fonctions g�om�triques (comme contains(), update() et toutes les fonctions de conversion de coordonn�es) op�rent toujours en coordonn�es locales. Pour plus de commodit�, QGraphicsItem fournit les fonctions sceneTransform(), qui renvoie la matrice de transformation totale (incluant sa position et toutes les transformations et positions des parents) et scenePos(), qui renvoie la position en coordonn�es de sc�ne. Pour r�initialiser la matrice d'un �l�ment, appelez resetTransform().

Certaines transformations produisent des r�sultats diff�rents suivant l'ordre dans lequel elles sont effectu�es. Par exemple, si vous redimensionnez un �l�ment puis appliquez une rotation, vous pouvez obtenir une transformation diff�rente qu'en effectuant la rotation en premier. Cependant, l'ordre dans lequel vous affectez des propri�t�s de transformation au QGraphicsItem n'influencera pas la transformation r�sultante ; QGraphicsItem applique toujours les propri�t�s dans un ordre pr�d�fini :

Dessin

La fonction paint() est appel�e par QGraphicsView pour dessiner le contenu d'un �l�ment. L'�l�ment ne poss�de pas de fond ou de remplissage par d�faut ; tout ce qui se trouve sous l'�l�ment appara�tra en transparence dans toutes les zones qui ne seront pas remplies par cette fonction. Vous pouvez appeler update() pour demander une mise � jour de la zone de dessin, en passant �ventuellement le rectangle � redessiner. S'il est affich� dans une vue, l'�l�ment sera redessin�, sinon il ne le sera pas ; il n'existe pas d'�quivalent � QWidget::repaint() dans QGraphicsItem.

Les �l�ments sont dessin�s par la vue, des parents aux enfants, et en ordre d'empilement ascendant. Vous pouvez d�finir le niveau d'empilement d'un �l�ment en appelant setZValue() et le tester en appelant zValue(), o� les �l�ments de valeur Z inf�rieure sont dessin�s avant les �l�ments de valeur Z sup�rieure. Le niveau d'empilement s'applique aux �l�ments ayant le m�me parent ; les parents sont toujours dessin�s avant leurs enfants.

Tri

Tous les �l�ments sont dessin�s dans un ordre stable et d�fini et ce m�me ordre est utilis� pour d�terminer quel �l�ment re�oit les �v�nements de clic de souris en premier. Normalement vous n'avez pas � vous pr�occuper du tri, qui suit un ordre « naturel » respectant la structure logique de la sc�ne.

Les �l�ments enfants sont empil�s sur les parents et les �l�ments de m�me niveau sont empil�s par ordre d'insertion (c'est-�-dire dans l'ordre d'ajout dans la sc�ne ou d'ajout au m�me parent). Si vous ajoutez l'�l�ment A puis le B, B sera au-dessus de A. Si vous ajoutez ensuite C, l'ordre d'empilement sera A, B, C.

image Cet exemple montre l'ordre d'empilement de tous les membres du robot de l'exemple Drag and Drop Robot. Le torse est l'�l�ment racine (tous les autres �l�ments sont des descendants du torse), donc il est dessin� en premier. La t�te est dessin�e ensuite, car elle est le premier �l�ment dans la liste des enfants du torse. Le haut du bras gauche est dessin� ensuite. Comme l'avant-bras est l'enfant du haut du bras, l'avant-bras est dessin�, suivi de l'enfant suivant du torse, qui est le haut du bras droit, et ainsi de suite.

Pour les utilisateurs avanc�s, il existe deux m�thodes pour modifier l'ordre de tri des �l�ments :

  • vous pouvez appeler setZValeur() sur un �l�ment pour le placer explicitement au dessus ou au dessous d'autres �l�ments de m�me niveau. La valeur Z d'un �l�ment est par d�faut 0. Les �l�ments avec la m�me valeur Z sont empil�s dans l'ordre d'insertion ;
  • vous pouvez appeler stackBefore() pour r�ordonner les enfants. Cela modifiera directement l'ordre d'insertion ;
  • vous pouvez activer le drapeau ItemStacksBehindParent pour placer un �l�ment enfant sous son parent.

L'ordre d'empilement relatif de deux �l�ments de m�me niveau s'�tend aussi � leurs descendants : si un �l�ment est au-dessus d'un autre, tous ses descendants seront �galement au-dessus des descendants de l'autre.

�v�nements

QGraphicsItem re�oit les �v�nements de QGraphicsScene � travers la fonction virtuelle sceneEvent(). Pour faciliter leur gestion, cette fonction distribue les �v�nements les plus courants � un ensemble de m�thodes :

Vous pouvez filtrer les �v�nements destin�s � un autre �l�ment en installant un filtre d'�v�nements. Cette fonctionnalit� est diff�rente des filtres d'�v�nements standard de Qt (voir QObject::installEventFilter()), qui ne sont compatibles qu'avec des classes d�riv�es de QObject. Apr�s avoir install� votre �l�ment comme filtre d'�v�nements pour un autre �l�ment en appelant installSceneEventFilter(), vous recevrez les �v�nements filtr�s dans la fonction virtuelle sceneEventFilter(). Vous pouvez supprimer un filtre d'�v�nements d'�l�ments en appelant removeSceneEventFilter().

Donn�es personnalis�es

Il est parfois utile d'enregistrer des donn�es personnalis�es dans un �l�ment, qu'il s'agisse d'un �l�ment standard ou personnalis�. Vous pouvez appeler setData() sur tout �l�ment pour enregistrer des donn�es sous la forme d'une paire cl�-valeur (la cl� �tant un entier et la valeur un QVariant). Pour lire les donn�es d'un �l�ment, appelez data(). Cette fonctionnalit� n'a pas d'utilit� pour Qt lui-m�me ; elle est fournie uniquement pour le confort de l'utilisateur.

Voir aussi QGraphicsScene, QGraphicsView et Graphics View Framework.

Types membres

enum QGraphicsItem::CacheMode

Cette �num�ration d�crit les modes de cache de QGraphicsItem. Le cache est utilis� pour acc�l�rer le rendu en allouant un tampon de pixels hors �cran et en l'utilisant pour le rendu. Ce rendu peut �tre ensuite r�utilis� quand l'�l�ment doit �tre redessin�. Pour certains types de QPaintDevice, le cache est stock� directement dans la m�moire vid�o, ce qui permet un rendu tr�s rapide.

Constante Valeur Description
QGraphicsItem::NoCache   Par d�faut: le cache est d�sactiv�. QGraphicsItem::paint() est appel� chaque fois que l'�l�ment doit �tre redessin�.
QGraphicsItem::ItemCoordinateCache 1 Le cache est activ� pour le syst�me de coordonn�es logique (local) de l'�l�ment. QGraphicsItem cr�e un tampon de pixels hors �cran avec une taille / r�solution configurable que vous pouvez passer � QGraphicsItem::setCacheMode(). Typiquement, la qualit� de rendu va �tre d�grad�e en fonction de la r�solution du cache et de la transformation de l'�l�ment. La premi�re fois que l'�l�ment va �tre redessin�, le rendu se fait dans le cache, qui est r�utilis� pour les dessins suivants. Le cache est aussi r�utilis� quand l'�l�ment est transform�. Pour ajuster la r�solution du cache, vous pouvez appeler de nouveau setCacheMode().
QGraphicsItem::DeviceCoordinateCache 2 Le cache est activ� au niveau du QPaintDevice, dans le syst�me de coordonn�es du PaintDevice. Ce mode convient aux �l�ments qui peuvent �tre d�plac�s mais pas tourn�s, redimensionn�s ni d�form�s. Si l'�l�ment est transform� directement ou indirectement, le cache sera reg�n�r� automatiquement. Contrairement au mode ItemCoordinateCacheMode, DeviceCoordinateCache effectue toujours un rendu en qualit� maximale.

Cette �num�ration a �t� introduite ou modifi�e dans Qt 4.4.

Voir aussi QGraphicsItem::setCacheMode().

enum QGraphicsItem::GraphicsItemChange

Cette �num�ration d�crit les changements d'�tat dont la notification est envoy�e par QGraphicsItem::itemChange(). Les notifications sont envoy�es au moment du changement d'�tat et dans certains cas, des ajustements peuvent �tre faits (pour les d�tails, voir la documentation de chaque changement).

Note : attention en cas d'appels de fonctions du QGraphicsItem lui-m�me � l'int�rieur de itemChange(), car certains appels peuvent d�clencher une r�cursion ind�sirable. Par exemple, vous ne pouvez pas appeler setPos() dans itemChange() sur une notification ItemPositionChange, car la fonction setPos() va rappeler itemChange(ItemPositionChange). � la place, vous pouvez demander � itemChange() de renvoyer la position ajust�e.

Constante Valeur Description
QGraphicsItem::ItemEnabledChange 3 L'�tat d'activation de l'�l�ment change. S'il est actuellement actif, il sera d�sactiv� et vice versa. L'argument est le nouvel �tat d'activation (vrai ou faux). N'appelez pas setEnabled() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer le nouvel �tat.
QGraphicsItem::ItemEnabledHasChanged 13 L'�tat d'activation de l'�l�ment a chang�. L'argument est le nouvel �tat d'activation (vrai ou faux). N'appelez pas setEnabled() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemMatrixChange 1 La matrice de transformation de l'�l�ment change. Cette valeur est obsol�te, vous pouvez lui substituer ItemTransformChange.
QGraphicsItem::ItemPositionChange   La position de l'�l�ment change. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et quand la position locale de l'�l�ment, relativement � son parent, change (c'est-�-dire en cons�quence d'un appel de setPos() ou moveBy()). L'argument est la nouvelle position (un QPointF). Vous pouvez appeler pos() pour obtenir la position d'origine. N'appelez pas setPos() ou moveBy() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer la position ajust�e. Apr�s cette notification, QGraphicsItem envoie imm�diatement la notification ItemPositionHasChanged si la position a chang�.
QGraphicsItem::ItemPositionHasChanged 9 La position de l'�l�ment a chang�. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et quand la position locale de l'�l�ment, relativement � son parent, a chang�. L'argument est la nouvelle position (identique � pos()) et QGraphicsItem ignore la valeur de retour de cette notification (c'est une notification en lecture seule).
QGraphicsItem::ItemTransformChange 8 La matrice de transformation de l'�l�ment change. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et quand la matrice de transformation locale de l'�l�ment change (en cons�quence d'un appel de setTransform(). L'argument est la nouvelle matrice (une QTransform) ; pour obtenir l'ancienne matrice, appeler transform(). N'appelez pas setTransform() et ne modifiez aucune propri�t� de transformation dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer la nouvelle matrice. Cette notification n'est pas envoy�e si vous modifiez les propri�t�s de la transformation.
QGraphicsItem::ItemTransformHasChanged 10 La matrice de transformation de l'�l�ment a chang� suite � un appel de setTransform ou suite � une modification des propri�t�s de la transformation. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et after the item's local transformation matrix a chang�. L'argument est the new matrix (same as transform()) et QGraphicsItem ignore la valeur de retour de cette notification (c'est une notification en lecture seule).
QGraphicsItem::ItemRotationChange 28 La propri�t� de rotation de l'�l�ment change. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et lorsque la propri�t� de rotation de l'�l�ment change (en cons�quence d'un appel de setRotation()). L'argument est la nouvelle rotation (un double) ; pour obtenir l'ancienne rotation, appeler rotation(). N'appelez pas setRotation() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer la nouvelle rotation.
QGraphicsItem::ItemRotationHasChanged 29 La propri�t� de rotation de l'�l�ment a chang�. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et lorsque la propri�t� de rotation de l'�l�ment a chang�. L'argument est la nouvelle rotation (un double) et QGraphicsItem ignore la valeur de retour de cette notification (c'est une notification en lecture seule). N'appelez pas setRotation() dans votre traitement de itemChange().
QGraphicsItem::ItemScaleChange 30 L'�chelle de l'�l�ment change. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et lorsque la propri�t� �chelle de l'�l�ment change (en cons�quence d'un appel de setScale()). L'argument est la nouvelle �chelle (un double) ; pour obtenir l'ancienne �chelle, appelez scale(). N'appelez pas setScale() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer la nouvelle taille.
QGraphicsItem::ItemScaleHasChanged 31 L'�chelle de l'�l�ment a chang�. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et apr�s que la propri�t� �chelle de l'�l�ment ait chang�. L'argument est the new scale (i.e., a double) et QGraphicsItem ignore la valeur de retour de cette notification (c'est une notification en lecture seule). N'appelez pas setScale() dans votre traitement de itemChange().
QGraphicsItem::ItemTransformOriginPointChange 32 Le point d'origine de transformation de l'�l�ment change. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et lorsque le point d'origine de transformation change (en cons�quence d'un appel de setTransformOriginPoint()). L'argument est le nouveau point d'origine (un QPointF); pour obtenir l'ancien point d'origine, appelez transformOriginPoint(). N'appelez pas setTransformOriginPoint() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer le nouveau point d'origine de transformation.
QGraphicsItem::ItemTransformOriginPointHasChanged 33 Le point d'origine de transformation a chang�. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et apr�s que le point d'origine de transformation ait chang�. L'argument est le nouveau point d'origine (un QPointF) et QGraphicsItem ignore la valeur de retour de cette notification (c'est une notification en lecture seule). N'appelez pas setTransformOriginPoint() dans votre traitement de itemChange().
QGraphicsItem::ItemSelectedChange 4 L'�tat de s�lection de l'�l�ment change. Si l'�l�ment �tait s�lectionn�, il sera d�s�lectionn� et vice versa. L'argument est le nouvel �tat de s�lection (vrai ou faux). N'appelez pas setSelected() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer le nouvel �tat de s�lection
QGraphicsItem::ItemSelectedHasChanged 14 L'�tat de s�lection de l'�l�ment a chang�. L'argument est le nouvel �tait de s�lection (vrai ou faux). N'appelez pas setSelected() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemVisibleChange 2 L'�tat de visibilit� de l'�l�ment change. Si l'�l�ment est actuellement visible, il deviendra invisible et vice versa. L'argument est le nouvel �tat de visibilit� (vrai ou faux). N'appelez pas setVisible() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer le nouvel �tat de visibilit�.
QGraphicsItem::ItemVisibleHasChanged 12 L'�tat de visibilit� de l'�l�ment a chang�. L'argument est le nouvel �tat de visibilit� (vrai ou faux). N'appelez pas setVisible() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemParentChange 5 Le parent de l'�l�ment change. L'argument est le nouveau parent (un pointeur sur un QGraphicsItem). N'appelez pas setParentItem() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer le nouveau parent.
QGraphicsItem::ItemParentHasChanged 15 Le parent de l'�l�ment a chang�. L'argument est le nouveau parent (un pointeur sur un QGraphicsItem). N'appelez pas setParentItem() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemChildAddedChange 6 Un enfant est ajout� � l'�l�ment. L'argument est le nouvel enfant (un pointeur sur un QGraphicsItem). Ne passez pas cet �l�ment � la fonction setParentItem() d'un autre �l�ment dans votre traitement de itemChange(). La valeur de retour est ignor�e ; vous ne pouvez rien ajuster pendant le traitement de cette notification. Notez que le nouvel enfant peut ne pas �tre compl�tement construit lorsque cette notification est envoy�e ; appeler des m�thodes virtuelles pures sur l'enfant peut entra�ner un crash.
QGraphicsItem::ItemChildRemovedChange 7 Un enfant est retir� � l'�l�ment. L'argument est l'�l�ment enfant qui est sur le point d'�tre retir� (un pointeur sur un QGraphicsItem). La valeur de retour est ignor�e ; vous ne pouvez rien ajuster pendant le traitement de cette notification.
QGraphicsItem::ItemSceneChange 11 L'�l�ment est d�plac� dans une nouvelle sc�ne. Cette notification est aussi envoy�e quand l'objet est ajout� � sa sc�ne initiale et lorsqu'il est retir�. L'argument est la nouvelle sc�ne (un pointeur sur une QGraphicsScene) ou un pointeur NULL si l'�l�ment est retir� d'une sc�ne. Ne pas interf�rer dans ce changement en passant cet �l�ment � QGraphicsScene::addItem() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer la nouvelle sc�ne. Utilisez cette possibilit� avec pr�cautions ; contrarier un changement de sc�ne peut rapidement conduire � une r�cursion involontaire.
QGraphicsItem::ItemSceneHasChanged 16 L'�l�ment a �t� d�plac� dans une nouvelle sc�ne. L'argument est la nouvelle sc�ne (un pointeur sur une QGraphicsScene). N'appelez pas setScene() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemCursorChange 17 Le pointeur de souris de l'�l�ment change. L'argument est le nouveau pointeur de souris (un QCursor). N'appelez pas setCursor() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer un nouveau curseur.
QGraphicsItem::ItemCursorHasChanged 18 Le pointeur de souris de l'�l�ment a chang�. L'argument est le nouveau pointeur de souris de l'�l�ment (un QCursor). N'appelez pas setCursor() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemToolTipChange 19 L'infobulle de l'�l�ment change. L'argument est la nouvelle infobulle (un QToolTip). N'appelez pas setToolTip() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer une nouvelle infobulle.
QGraphicsItem::ItemToolTipHasChanged 20 L'infobulle de l'�l�ment a chang�. L'argument est la nouvelle infobulle (un QToolTip). N'appelez pas setToolTip() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemFlagsChange 21 Les drapeaux de l'�l�ment changent. L'argument est le nouvel ensemble de drapeaux (un quint32). N'appelez pas setFlags() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer les nouveaux drapeaux.
QGraphicsItem::ItemFlagsHaveChanged 22 Les drapeaux de l'�l�ment ont chang�. L'argument est le nouvel ensemble de drapeaux (un quint32). N'appelez pas setFlags() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemZValeurChange 23 La valeur Z de l'�l�ment change. L'argument est la nouvelle valeur Z (un double). N'appelez pas setZValeur() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer une nouvelle valeur Z.
QGraphicsItem::ItemZValeurHasChanged 24 La valeur Z de l'�l�ment a chang�. L'argument est la nouvelle valeur Z (un double). N'appelez pas setZValeur() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemOpacityChange 25 L'opacit� de l'�l�ment change. L'argument est la nouvelle opacit� (un double). N'appelez pas setOpacity() dans votre traitement de itemChange() ; � la place, vous pouvez renvoyer une nouvelle opacit�.
QGraphicsItem::ItemOpacityHasChanged 26 L'opacit� de l'�l�ment a chang�. L'argument est la nouvelle opacit� (un double). N'appelez pas setOpacity() dans votre traitement de itemChange(). La valeur de retour est ignor�e.
QGraphicsItem::ItemScenePositionHasChanged 27 La position de sc�ne de l'�l�ment a chang�. Cette notification est envoy�e si le drapeau ItemSendsGeometryChanges est actif et apr�s que la position de l'�l�ment a chang� (c'est-�-dire que la position ou la transformation de l'�l�ment lui-m�me ou de l'un de ses anc�tres a chang�). L'argument est la nouvelle position (identique � scenePos()) et QGraphicsItem ignore la valeur de retour de cette notification (c'est une notification en lecture seule).

enum QGraphicsItem::GraphicsItemFlag

flags QGraphicsItem::GraphicsItemFlags

Cette �num�ration d�crit les diff�rents drapeaux que vous pouvez activer sur l'�l�ment pour modifier son comportement.

Tous les drapeaux sont d�sactiv�s par d�faut.

Constante Valeur Description
QGraphicsItem::ItemIsMovable 0x1 L'�l�ment accepte des mouvements interactifs � la souris. En cliquant sur l'�l�ment et en le faisant glisser, l'�l�ment se d�placera en suivant le pointeur de la souris. Si l'�l�ment a des enfants, tous les enfants sont aussi d�plac�s. Si l'�l�ment fait partie d'une s�lection, tous les �l�ments s�lectionn�s sont d�plac�s. Cette fonction pratique est fournie par l'impl�mentation de base du gestionnaire d'�v�nements souris de QGraphicsItem.
QGraphicsItem::ItemIsSelectable 0x2 L'�l�ment g�re la s�lection. L'activation de cette fonction permet � setSelected() de changer l'�tat de s�lection de l'�l�ment. Il autorisera aussi la s�lection automatique de l'�l�ment soit par un appel de QGraphicsScene::setSelectionArea(), soit en cliquant sur l'�l�ment, soit en utilisant la s�lection par zone de QGraphicsView.
QGraphicsItem::ItemIsFocusable 0x4 L'�l�ment accepte le focus pour les entr�es clavier (c'est-�-dire qu'il accepte les saisies). L'activation de ce drapeau permet � l'�l�ment d'accepter le focus, ce qui � son tour permet la transmission des �v�nements � QGraphicsItem::keyPressEvent() et QGraphicsItem::keyReleaseEvent().
QGraphicsItem::ItemClipsToShape 0x8 L'�l�ment est limit� � sa propre forme. L'�l�ment ne peut pas dessiner ou recevoir d'�v�nements souris, tablette, glisser-d�poser ou survol � l'ext�rieur de de sa forme. Le drapeau est d�sactiv� par d�faut. Ce comportement est contr�l� par QGraphicsView::drawItems() ou QGraphicsScene::drawItems(). Ce drapeau a �t� introduit dans Qt 4.3.
QGraphicsItem::ItemClipsChildrenToShape 0x10 L'�l�ment limite le dessin de tous ses descendants � sa propre forme. Les �l�ments qui sont des enfants directs ou indirects de cet �l�ment ne peuvent pas dessiner en dehors de la forme de cet �l�ment. Par d�faut, ce drapeau est d�sactiv� ; les enfants peuvent dessiner partout. Ce comportement est contr�l� par QGraphicsView::drawItems() ou QGraphicsScene::drawItems(). Ce drapeau a �t� introduit dans Qt 4.3.
QGraphicsItem::ItemIgnoresTransformations 0x20 L'�l�ment ignore les transformations h�rit�es (c'est-�-dire que sa position est toujours ancr�e � son parent mais que les transformations du parent de type zoom, rotation ou d�formation sont ignor�es). Ce drapeau est utile pour conserver la taille et l'horizontalit� des textes, pour qu'ils restent lisibles dans une vue transform�e. Si le drapeau est actif, les g�om�tries de vue et de sc�ne de l'�l�ment sont maintenues s�par�ment. Vous devez appeler deviceTransform() pour convertir les coordonn�es et g�rer les collisions. Par d�faut, ce drapeau est d�sactiv�. Ce drapeau a �t� introduit dans Qt 4.3. Note : si ce drapeau est actif vous pouvez toujours redimensionner l'�l�ment lui-m�me et cette transformation sera r�percut�e sur les enfants de l'�l�ment.
QGraphicsItem::ItemIgnoresParentOpacity 0x40 L'�l�ment ignore l'opacit� de son parent. L'opacit� effective de l'�l�ment est la sienne propre ; elle ne se combine pas avec l'opacit� du parent. Ce drapeau permet � l'�l�ment de conserver son opacit� m�me si le parent est semi-transparent. Ce drapeau a �t� introduit dans Qt 4.5.
QGraphicsItem::ItemDoesntPropagateOpacityToChildren 0x80 L'�l�ment ne propage pas son opacit� � ses enfants. Ce drapeau vous permet de cr�er un �l�ment semi-transparent qui n'affecte pas l'opacit� de ses enfants. Ce drapeau a �t� introduit dans Qt 4.5.
QGraphicsItem::ItemStacksBehindParent 0x100 L'�l�ment est empil� sous son parent. Par d�faut, les enfants sont empil�s sur les �l�ments parents. En activant ce drapeau, l'enfant sera empil� sous le parent. Ce drapeau est utile pour les effets d'ombrage et les objets d�coratifs qui suivent la g�om�trie du parent sans dessiner sur lui. Ce drapeau a �t� introduit dans Qt 4.5.
QGraphicsItem::ItemUsesExtendedStyleOption 0x200 L'�l�ment utilise exposedRect ou matrix dans QStyleOptionGraphicsItem. Par d�faut, le exposedRect est initialis� avec le boundingRect() de l'�l�ment et la matrix n'est pas transform�e. Vous pouvez activer ce drapeau pour choisir plus finement les options de style. Notez que QStyleOptionGraphicsItem::levelOfDetail n'est pas affect� par ce drapeau et est toujours initialis� � 1. Utilisez QStyleOptionGraphicsItem::levelOfDetailFromTransform() si vous avez besoin d'une valeur plus grande. Ce drapeau a �t� introduit dans Qt 4.6.
QGraphicsItem::ItemHasNoContents 0x400 L'�l�ment n'a rien � dessiner (c'est-�-dire qu'appeler paint() sur l'�l�ment n'a pas d'effet). Il est recommand� d'activer ce drapeau sur les �l�ments qui n'ont pas besoin d'�tre dessin�s pour �viter � la vue graphique un travail de pr�paration de dessin inutile. Ce drapeau a �t� introduit dans Qt 4.6.
QGraphicsItem::ItemSendsGeometryChanges 0x800 L'�l�ment active les notifications itemChange() pour ItemPositionChange, ItemPositionHasChanged, ItemMatrixChange, ItemTransformChange, ItemTransformHasChanged, ItemRotationChange, ItemRotationHasChanged, ItemScaleChange, ItemScaleHasChanged, ItemTransformOriginPointChange et ItemTransformOriginPointHasChanged. Pour les performances, ces notifications sont d�sactiv�es par d�faut. Vous devez activer ce drapeau pour recevoir des notifications de changement de position et de transformation. Ce drapeau a �t� introduit dans Qt 4.6.
QGraphicsItem::ItemAcceptsInputMethod 0x1000 L'�l�ment g�re les m�thodes de saisie typiquement utilis�es pour les langues asiatiques. Ce drapeau a �t� introduit dans Qt 4.6.
QGraphicsItem::ItemNegativeZStacksBehindParent 0x2000 L'�l�ment s'empile automatiquement sous son parent si sa valeur Z est n�gative. Ce drapeau permet � setZValeur() d'activer ItemStacksBehindParent. Ce drapeau a �t� introduit dans Qt 4.6.
QGraphicsItem::ItemIsPanel 0x4000 L'�l�ment est un panneau. Un panneau g�re l'activation et l'appropriation du focus. Un seul panneau peut �tre actif � la fois (voir QGraphicsItem::isActive()). Quand aucun panneau n'est actif, QGraphicsScene active tous les autres �l�ments. Les fen�tres (c'est-�- dire les �l�ments pour lesquels QGraphicsItem::isWindow() renvoie vrai) sont des panneaux. Ce drapeau a �t� introduit dans Qt 4.6.
QGraphicsItem::ItemSendsScenePositionChanges 0x10000 L'�l�ment active les notifications itemChange() pour ItemScenePositionHasChanged. Pour les performances, ces notifications sont d�sactiv�es par d�faut. Vous devez activer ce drapeau pour recevoir des notifications de changement de position sc�ne. Ce drapeau a �t� introduit dans Qt 4.6.

Le type GraphicsItemFlags est un typedef pour QFlags<GraphicsItemFlag>. Il contient une combinaison OU de valeurs GraphicsItemFlag.

enum QGraphicsItem::PanelModality

Cette �num�ration sp�cifie le comportement d'un panneau modal. Un panneau modal est un �l�ment bloquant l'acc�s aux autres panneaux. Notez que les �l�ments enfants d'un panneau modal ne sont pas bloqu�s.

Le valeurs sont :

Constante Valeur Description
QGraphicsItem::NonModal   Le panneau n'est pas modal et ne bloque pas l'acc�s aux autres panneaux. C'est la valeur par d�faut.
QGraphicsItem::PanelModal 1 Le panneau est modal � une seule hi�rarchie d'�l�ments et bloque les acc�s � son panneau parent, � tous les anc�tres et � tous leurs fr�res.
QGraphicsItem::SceneModal 2 Le panneau est modal � toute la sc�ne et bloque l'acc�s � tous les autres panneaux.

Cette �num�ration a �t� introduite ou modifi�e dans Qt 4.6.

Voir aussi QGraphicsItem::setPanelModality(), QGraphicsItem::panelModality() et QGraphicsItem::ItemIsPanel.

Fonctions membres

QGraphicsItem::QGraphicsItem ( QGraphicsItem * parent = 0 )

Construit un QGraphicsItem avec l'�l�ment parent donn�. L'objet parent renvoy� par QObject::parent() n'est pas modifi�.

Si parent est 0, vous pouvez ajouter l'�l�ment � une sc�ne en appelant QGraphicsScene::addItem(). L'�l�ment devient alors un �l�ment de premier niveau.

Voir aussi QGraphicsScene::addItem() et setParentItem().

QGraphicsItem::~QGraphicsItem () [virtual]

D�truit le QGraphicsItem et tous ses enfants. Si cet �l�ment est associ� � une sc�ne, l'�l�ment sera retir� de la sc�ne avant d'�tre supprim�.

Note : il est plus efficace de retirer l'�l�ment de la QGraphicsScene avant de le d�truire.

bool QGraphicsItem::acceptDrops () const

Renvoie vrai si cet �l�ment accepte les �v�nements de glisser-d�poser; sinon, renvoie faux. Par d�faut, les �l�ments n'acceptent pas les �v�nements de glisser-d�poser ; les �l�ments sont transparents pour le glisser-d�poser.

Voir aussi setAcceptDrops().

bool QGraphicsItem::acceptHoverEvents () const

Renvoie vrai si un �l�ment accepte les �v�nements de survol (QGraphicsSceneHoverEvent); sinon, renvoie faux. Par d�faut, les �l�ments n'acceptent pas les �v�nements de survol.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi setAcceptHoverEvents() et setAcceptedMouseButtons().

bool QGraphicsItem::acceptTouchEvents () const

Renvoie vrai si un �l�ment accepte les �v�nements de touch�; sinon, renvoie faux. Par d�faut, les �l�ments n'acceptent pas les �v�nements de touch�.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setAcceptTouchEvents().

Qt::MouseButtons QGraphicsItem::acceptedMouseButtons () const

Renvoie les boutons de souris pour lesquels cet �l�ment accepte des �v�nements. Par d�faut, tous les boutons sont accept�s.

Si un �l�ment accepte un bouton, il deviendra destinataire de tous les �v�nements souris lorsqu'un �v�nement de clic sera envoy� pour ce bouton. Si l'�l�ment n'accepte pas un bouton, QGraphicsScene transf�rera les �v�nements souris au premier �l�ment sous lui qui l'accepte.

Voir aussi setAcceptedMouseButtons() et mousePressEvent().

void QGraphicsItem::advance ( int phase ) [virtual]

Cette fonction virtuelle est appel�e deux fois pour chaque �l�ment par le slot QGraphicsScene::advance(). Dans la premi�re phase, tous les �l�ments sont appel�s avec phase == 0, pour indiquer que tous les �l�ments de la sc�ne sont sur le point d'avancer, puis tous les �l�ments sont appel�s avec phase == 1. Reimpl�mentez cette fonction pour mettre � jour vos �l�ments si vous avez besoin d'une animation simple contr�l�e par la sc�ne.

L'impl�mentation par d�faut ne fait rien.

QRectF QGraphicsItem::boundingRect () const [pure virtual]

Cette fonction virtuelle pure d�finit les fronti�res de l'�l�ment sous forme d'un rectangle ; tous les dessins de l'�l�ment doivent se faire � l'int�rieur de ce rectangle. QGraphicsView l'utilise pour d�terminer si l'�l�ment doit �tre redessin�.

Bien que la forme de l'�l�ment soit arbitraire, boundingRect() est toujours un rectangle et n'est pas affect� par les transformations de l'�l�ment.

Si vous voulez changer le rectangle fronti�re de l'�l�ment, vous devez d'abord appeler prepareGeometryChange(). Cet appel pr�vient la sc�ne du changement imminent, afin qu'elle puisse changer son index de g�om�trie ; sinon, la sc�ne ignorera la nouvelle g�om�trie de l'�l�ment et le r�sultat sera ind�fini (typiquement, des artefacts de rendu subsisteront dans la vue).

R�impl�mentez cette fonction afin que QGraphicsView d�termine quelles portions de l'�l�ment doivent �tre �ventuellement redessin�es.

Note : pour les �l�ments dessin�s avec une brosse ou une bordure large, il faut inclure la moiti� de la brosse dans le rectangle fronti�re. Par contre, il n'est pas n�cessaire d'inclure une compensation pour l'antialiasing.

Exemple :

 QRectF CircleItem::boundingRect() const
 {
     qreal penWidth = 1;
     return QRectF(-radius - penWidth / 2, -radius - penWidth / 2,
                   diameter + penWidth, diameter + penWidth);
 }

Voir aussi boundingRegion(), shape(), contains(), The Graphics View Coordinate System et prepareGeometryChange().

Pour l'animation d'�l�ments individuels, une alternative � cette fonction est d'utiliser QGraphicsItemAnimation ou un h�ritage multiple de QObject et QGraphicsItem, et d'animer votre �l�ment en utilisant QObject::startTimer() et QObject::timerEvent().

Voir aussi QGraphicsItemAnimation et QTimeLine.

QRegion QGraphicsItem::boundingRegion ( const QTransform & itemToDeviceTransform ) const

Renvoie la r�gion fronti�re de cet �l�ment. L'espace de coordonn�es de cette r�gion d�pend de itemToDeviceTransform. Si vous passez une QTransform identit� comme param�tre, cette fonction renverra une r�gion en coordonn�es locales.

La r�gion fronti�re d�crit un contour approximatif du contenu visuel de l'�l�ment. Bien qu'elle soit co�teuse � calculer, elle est plus pr�cise que le rectangle fronti�re et elle peut aider � �viter de redessiner inutilement un �l�ment lors d'une mise � jour. Ceci est particuli�rement efficace pour les �l�ment minces (lignes ou polygones simples par exemple). Vous pouvez ajuster la granularit� de la r�gion fronti�re par setBoundingRegionGranularity(). La granularit� par d�faut est 0 ; dans ce cas la r�gion fronti�re est identique au rectangle fronti�re.

itemToDeviceTransform est la transformation depuis les coordonn�es de l'�l�ment vers les coordonn�es du dispositif de rendu. Si vous voulez que cette fonction renvoie une QRegion en coordonn�es de sc�ne, vous pouvez passer sceneTransform() comme argument.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi boundingRegionGranularity().

qreal QGraphicsItem::boundingRegionGranularity () const

Renvoie la granularit� de la r�gion fronti�re, une valeur dans l'intervalle 0 � 1 (bornes comprises). La valeur par d�faut est 0 (c'est-�-dire la granularit� minimale o� la r�gion fronti�re est �gale au rectangle fronti�re).

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi setBoundingRegionGranularity().

CacheMode QGraphicsItem::cacheMode () const

Renvoie le mode de cache pour cet �l�ment. Le mode par d�faut est NoCache (c'est-�-dire que le cache est d�sactiv� et le rendu imm�diat).

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi setCacheMode().

QList<QGraphicsItem *> QGraphicsItem::childItems () const

Renvoie une liste des enfants de l'�l�ment.

Les �l�ments sont tri�s par ordre d'empilement, qui prend en compte � la fois l'ordre d'insertion et les valeurs-z des �l�ments.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi setParentItem(), zValeur() et Sorting.

QRectF QGraphicsItem::childrenBoundingRect () const

Renvoie le rectangle fronti�re des descendants de l'�l�ment (c'est-�-dire ses enfants, leurs propres enfants, etc.) en coordonn�es locales. Le rectangle contiendra tous les descendants. Si l'�l�ment n'a pas d'enfant, la fonction renvoie un QRectF vide.

Le r�sultat n'inclut pas le rectangle fronti�re de l'�l�ment lui-m�me ; il repr�sente seulement l'accumulation des rectangles des descendants. Si vous devez inclure le rectangle fronti�re de l'�l�ment, ajoutez boundingRect() � childrenBoundingRect() en utilisant QRectF::operator|().

Cette fonction a une complexit� lin�aire ; elle d�termine la taille du r�sultat en it�rant sur tous les descendants.

Voir aussi boundingRect() and sceneBoundingRect().

void QGraphicsItem::clearFocus ()

Retire le focus des entr�es clavier � l'�l�ment.

S'il a le focus, un �v�nement de perte de focus est envoy� � l'�l�ment pour le pr�venir. Seuls les �l�ments activant le drapeau ItemIsFocusable ou d�finissant une autorisation appropri�e peuvent accepter le focus clavier.

Voir aussi setFocus(), hasFocus() et QGraphicsWidget::focusPolicy.

QPainterPath QGraphicsItem::clipPath () const

Renvoie le chemin de d�tourage (clipping) ou un QPainterPath vide si cet �l�ment n'est pas d�tour�. Le chemin de d�tourage limite l'apparence et les interactions de l'�l�ment (c'est-�-dire restreint la zone de dessin et la zone pour laquelle l'�l�ment peut recevoir des �v�nements).

Vous pouvez activer le d�tourage en utilisant les drapeaux ItemClipsToShape ou ItemClipsChildrenToShape. Le chemin de d�tourage r�sulte de l'intersection de toutes les formes de d�tourage des anc�tres de l'�l�ment. Si l'�l�ment active ItemClipsToShape, le d�tourage final est obtenu par l'intersection avec la forme de l'�l�ment lui-m�me.

Note : le d�tourage p�nalise les performances de tous les �l�ments impliqu�s ; vous devez en r�gle g�n�rale l'�viter autant que possible (par exemple, si vos �l�ments sont dessin�s � l'int�rieur des boundingRect() ou shape(), le d�tourage n'est pas n�cessaire).

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi isClipped(), shape() et setFlags().

bool QGraphicsItem::collidesWithItem ( const QGraphicsItem * other, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) const [virtual]

Renvoie vrai si cet �l�ment entre en collision avec other ; sinon renvoie faux.

Le mode est appliqu� � other et la forme ou le rectangle fronti�re r�sultant est compar� � la forme de l'�l�ment. La valeur par d�faut de mode est Qt::IntersectsItemShape ; other entre en collision avec cet �l�ment s'il a une intersection, contient ou est contenu par la forme de cet �l�ment (voir Qt::ItemSelectionMode pour les d�tails).

L'impl�mentation par d�faut est bas�e sur l'intersection de formes et utilise shape() sur les deux �l�ments. �tant donn� que la complexit� des interactions entre formes augmente d'un ordre de grandeur lorsque les formes sont complexes, cette op�ration peut consommer un temps non n�gligeable. Vous avez la possibilit� de r�impl�menter cette fonction dans une classe d�riv�e de QGraphicsItem pour fournir votre propre algorithme. Ceci vous permet de tirer parti des contraintes naturelles des formers de vos �l�ments, dans le but d'am�liorer les performances de la d�tection de collision. Par exemple, la collision de deux �l�ments parfaitement circulaires et non transform�s peut �tre test�e tr�s efficacement en comparant leur position et leur rayon.

Notez bien qu'en cas de r�impl�mentation de cette fonction et d'appel � shape() ou boundingRect() sur other, les coordonn�es re�ues doivent �tre converties dans le syst�me de coordonn�es de l'�l�ment avant de faire des tests d'intersection.

Voir aussi contains() and shape().

bool QGraphicsItem::collidesWithPath ( const QPainterPath & path, Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) const [virtual]

Renvoie vrai si cet �l�ment entre en collision avec path.

La collision est d�termin�e par mode. La valeur par d�faut de mode est Qt::IntersectsItemShape ; path entre en collision avec cet �l�ment s'il a une intersection, contient ou est contenu par la forme de cet �l�ment.

Notez que cette fonction v�rifie si la forme de l'�l�ment ou son rectangle fronti�re (suivant mode) est contenu dans path et non si path est contenu dans la forme de l'�l�ment ou son rectangle fronti�re.

Voir aussi collidesWithItem(), contains() et shape().

QList<QGraphicsItem *> QGraphicsItem::collidingItems ( Qt::ItemSelectionMode mode = Qt::IntersectsItemShape ) const

Renvoie une liste d'�l�ments entrant en collision avec cet �l�ment.

La fa�on dont les collisions sont d�tect�es est d�termin�e en appliquant mode aux �l�ments qui sont compar�s � cet �l�ment, c'est-�-dire que leur forme ou leur rectangle fronti�re est compar�e avec la forme de l'�l�ment. La valeur par d�faut de mode est Qt::IntersectsItemShape.

Voir aussi collidesWithItem().

QGraphicsItem * QGraphicsItem::commonAncestorItem ( const QGraphicsItem * other ) const

Renvoie l'anc�tre commun le plus proche de cet �l�ment et de other, ou 0 si other est 0, ou s'il n'y a pas d'anc�tre commun.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi isAncestorOf().

bool QGraphicsItem::contains ( const QPointF & point ) const [virtual]

Renvoie vrai si cet �l�ment contient point, qui est en coordonn�es locales ; sinon, renvoie faux. Elle est le plus souvent appel�e depuis QGraphicsView pour d�terminer quel �l�ment est sous le pointeur et pour quelle raison, et l'impl�mentation de cette fonction doit �tre aussi l�g�re que possible.

Par d�faut, cette fonction appelle shape() mais vous pouvez la r�impl�menter dans une classe d�riv�e pour fournir une autre impl�mentation, �ventuellement plus efficace.

Voir aussi shape(), boundingRect() et collidesWithPath().

void QGraphicsItem::contextMenuEvent ( QGraphicsSceneContextMenuEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements peut �tre r�impl�ment� dans une classe d�riv�e pour traiter les �v�nements de menus contextuels. Le param�tre event contient des d�tails sur l'�v�nement � traiter.

Si vous ignorez l'�v�nement (en appelant QEvent::ignore()), event se propagera aux �l�ments du dessous. Si aucun �l�ment n'accepte l'�v�nement, il sera ignor� par la sc�ne et se propagera � la vue.

La r�ponse la plus courante � cet �v�nement est d'ouvrir un QMenu. Exemple :

 void CustomItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
 {
     QMenu menu;
     QAction *removeAction = menu.addAction("Remove");
     QAction *markAction = menu.addAction("Mark");
     QAction *selectedAction = menu.exec(event->screenPos());
     // ...
 }

L'impl�mentation par d�faut ignore l'�v�nement.

Voir aussi sceneEvent().

QCursor QGraphicsItem::cursor () const

Renvoie la forme actuelle du pointeur de souris pour cet �l�ment. Le pointeur aura cette forme quand il sera sur l'�l�ment. Vous pouvez trouver un ensemble de formes utiles dans la liste de pointeurs pr�d�finis.

Un �l�ment �diteur peut utiliser un pointeur en forme de barre :

 item->setCursor(Qt::IBeamCursor);

Si aucun pointeur n'a �t� d�fini, le pointeur du parent est utilis�.

Voir aussi setCursor(), hasCursor(), unsetCursor(), QWidget::cursor et QApplication::overrideCursor().

QVariant QGraphicsItem::data ( int key ) const

Renvoie les donn�es personnalis�es pour la cl� key sous forme de QVariant.

Les donn�es personnalis�es sont utiles pour le stockage de propri�t�s arbitraires dans les �l�ments. Exemple :

 static const int ObjectName = 0;
 
 QGraphicsItem *item = scene.itemAt(100, 50);
 if (item->data(ObjectName).toString().isEmpty()) {
     if (qgraphicsitem_cast<ButtonItem *>(item))
         item->setData(ObjectName, "Button");
 }

Qt n'utilise pas cette fonction pour stocker des donn�es ; elle est fournie uniquement pour les besoins de l'utilisateur.

Voir aussi setData().

QTransform QGraphicsItem::deviceTransform ( const QTransform & viewportTransform ) const

Renvoie la matrice de transformation physique de l'�l�ment, en utilisant viewportTransform pour la conversion entre coordonn�es de sc�ne et coordonn�es physiques. Cette matrice peut �tre utilis�e pour convertir des coordonn�es et des formes g�om�triques depuis le syst�me de coordonn�es de l'�l�ment vers le syst�me de coordonn�es de la zone d'affichage (ou de n'importe quel autre p�riph�rique). Pour convertir des coordonn�es vers l'affichage, vous devrez d'abord inverser la matrice renvoy�e.

Exemple :

 QGraphicsRectItem rect;
 rect.setPos(100, 100);
 
 rect.deviceTransform(view->viewportTransform()).map(QPointF(0, 0));
 // returns the item's (0, 0) point in view's viewport coordinates
 
 rect.deviceTransform(view->viewportTransform()).inverted().map(QPointF(100, 100));
 // returns view's viewport's (100, 100) coordinate in item coordinates

Cette fonction est identique � la combinaison de la transformation de sc�ne et de la transformation de vue de l'�l�ment, mais elle reconna�t aussi le drapeau ItemIgnoresTransformations. La transformation physique peut �tre utilis�e pour effectuer des conversions de coordonn�es pr�cises (et de la d�tection de collision) pour les �l�ments non transformables.

Cette fonction a �t� introduite dans Qt 4.3.

Voir aussi transform(), setTransform(), scenePos(), Le syst�me de coordonn�es de la vue graphique et itemTransform().

void QGraphicsItem::dragEnterEvent ( QGraphicsSceneDragDropEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de d�but de glisser-d�poser pour cet �l�ment. Les �v�nements de d�but de glisser-d�poser sont g�n�r�s lorsque le pointeur entre dans le p�rim�tre de l'�l�ment.

En acceptant l'�v�nement (c'est-�-dire en appelant QEvent::accept()), l'�l�ment acceptera les �v�nements de d�pose, en plus de recevoir les �v�nement de glissement et de fin de glissement. Sinon, l'�v�nement sera ignor� et propag� � l'�l�ment du dessous. Si l'�v�nement est accept�, l'�l�ment recevra un �v�nement de glissement avant que le contr�le ne revienne � la boucle d'�v�nements.

L'impl�mentation la plus courante de dragEnterEvent accepte ou ignore event en fonction des donn�es MIME d?event. Exemple :

 CustomItem::CustomItem()
 {
     setAcceptDrops(true);
     ...
 }
 
 void CustomItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event)
 {
     event->setAccepted(event->mimeData()->hasFormat("text/plain"));
 }

Les �l�ments ne re�oivent pas les �v�nements de glisser-d�poser par d�faut ; pour activer cette fonction, appelezsetAcceptDrops(true).

L'impl�mentation par d�faut ne fait rien.

Voir aussi dropEvent(), dragMoveEvent() et dragLeaveEvent().

void QGraphicsItem::dragLeaveEvent ( QGraphicsSceneDragDropEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de fin de glissement pour cet �l�ment. Les �v�nements de fin de glissement sont g�n�r�s lorsque le pointeur sort du p�rim�tre de l'�l�ment. La plupart du temps vous n'aurez pas besoin de r�impl�menter cette fonction mais elle peut �tre utile pour r�initialiser l'�tat de votre �l�ment (par exemple la surbrillance).

Appeler QEvent::ignore() ou QEvent::accept() sur event n'a pas d'effet.

Les �l�ments ne re�oivent pas les �v�nements de glisser-d�poser par d�faut; pour activer cette fonction, appelez setAcceptDrops(true).

L'impl�mentation par d�faut ne fait rien.

Voir aussi dragEnterEvent(), dropEvent() et dragMoveEvent().

void QGraphicsItem::dragMoveEvent ( QGraphicsSceneDragDropEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de glissement pour cet �l�ment. Les �v�nements de glissement sont g�n�r�s lorsque le curseur se d�place dans le p�rim�tre de l'�l�ment. La plupart du temps vous n'aurez pas besoin de r�impl�menter cette fonction ; elle est utilis�e pour indiquer que seule une partie de l'�l�ment accepte les d�poses.

Appeler QEvent::ignore() ou QEvent::accept() sur event d�termine si l'�l�ment accepte ou pas les d�poses � la position de l'�v�nement. Par d�faut, event est accept�, indiquant que l'�l�ment accepte les d�poses � cette position.

Les �l�ments ne re�oivent pas les �v�nements de glisser-d�poser par d�faut ; pour activer cette fonction, appelez setAcceptDrops(true).

L'impl�mentation par d�faut ne fait rien.

Voir aussi dropEvent(), dragEnterEvent() et dragLeaveEvent().

void QGraphicsItem::dropEvent ( QGraphicsSceneDragDropEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de d�pose pour cet �l�ment. Les �l�ments ne peuvent recevoir des �v�nements de d�pose que si le dernier �v�nement de glissement a �t� accept�.

Appeler QEvent::ignore() ou QEvent::accept() sur event n'a pas d'effet.

Les �l�ments ne re�oivent pas les �v�nements de glisser-d�poser par d�faut ; pour activer cette fonction, appelez setAcceptDrops(true).

L'impl�mentation par d�faut ne fait rien.

Voir aussi dragEnterEvent(), dragMoveEvent() et dragLeaveEvent().

qreal QGraphicsItem::effectiveOpacity () const

Renvoie l'opacit� effective de l'�l�ment, dont la valeur varie entre 0.0 (transparent) et 1.0 (opaque). Cette valeur est la combinaison de l'opacit� locale de cet �l�ment, de celle de son parent et de ses anc�tres. L'opacit� effective d�termine le rendu de l'�l�ment. Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi opacity(), setOpacity(), paint(), ItemIgnoresParentOpacity et ItemDoesntPropagateOpacityToChildren.

void QGraphicsItem::ensureVisible ( const QRectF & rect = QRectF(), int xmargin = 50, int ymargin = 50 )

Si cet �l�ment fait partie d'une sc�ne affich�e par QGraphicsView, cette fonction tentera de faire d�filer la vue pour garder rect visible dans la vue affich�e. Si rect est un rectangle null (la valeur par d�faut), QGraphicsItem prendra par d�faut le rectangle fronti�re de l'�l�ment. xmargin et ymargin sont le nombre de pixels que QGraphicsView prendra comme marge.

Si le rectangle sp�cifi� ne peut �tre atteint, le d�filement du contenu se fera jusqu'� la plus proche position valide.

Si cet �l�ment n'est pas affich� par une QGraphicsView, cette fonction ne fait rien.

Voir aussi QGraphicsView::ensureVisible().

void QGraphicsItem::ensureVisible ( qreal x, qreal y, qreal w, qreal h, int xmargin = 50, int ymargin = 50 )

Cette fonction est �quivalente � l'appel de ensureVisible(QRectF(x, y, w, h), xmargin, ymargin):

bool QGraphicsItem::filtersChildEvents () const

Renvoie vrai si cet �l�ment filtre les �v�nements de ses enfants (c'est-�-dire que tous les �v�nements destin�s � ses enfants lui sont envoy�s au lieu d'�tre envoy�s aux enfants) ; sinon, renvoie faux.

La valeur par d�faut est faux ; les �v�nements ne sont pas filtr�s.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setFiltersChildEvents().

GraphicsItemFlags QGraphicsItem::flags () const

Renvoie les drapeaux de l'�l�ment. Les drapeaux d�crivent quelles options configurables de l'�l�ment sont actives. Par exemple, si les drapeaux incluent ItemIsFocusable, l'�l�ment accepte le focus pour la saisie.

Par d�faut, aucun drapeau n'est actif.

Voir aussi setFlags() et setFlag().

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

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de prise de focus pour cet �l�ment. L'impl�mentation par d�faut appelle ensureVisible().

Voir aussi focusOutEvent(), sceneEvent() et setFocus().

QGraphicsItem * QGraphicsItem::focusItem () const

Si cet �l�ment, ou un de ses enfants ou descendants poss�de actuellement le focus, la fonction renvoie un pointeur sur cet �l�ment. Si aucun descendant n'a le focus, elle renvoie 0.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi hasFocus(), setFocus() et QWidget::focusWidget().

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

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de perte de focus pour cet �l�ment. L'impl�mentation par d�faut ne fait rien.

Voir aussi focusInEvent(), sceneEvent() et setFocus().

QGraphicsItem * QGraphicsItem::focusProxy () const

Renvoie le proxy de focus de cet �l�ment ou 0 s'il n'a pas de proxy de focus.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setFocusProxy(), setFocus() et hasFocus().

void QGraphicsItem::grabKeyboard ()

L'�l�ment devient destinataire des entr�es clavier.

L'�l�ment recevra toutes les entr�es clavier de la sc�ne jusqu'� ce qu'un des �v�nements suivants se produise :

  • l'�l�ment devient invisible ;
  • l'�l�ment est retir� de la sc�ne ;
  • l'�l�ment est supprim� ;
  • l'�l�ment appelle ungrabKeyboard() ;
  • un autre �l�ment appelle grabKeyboard() ; les entr�es clavier reviendront � l'�l�ment quand l'autre �l�ment appellera ungrabKeyboard().

Quand un �l�ment prend les entr�es clavier, il re�oit un �v�nement QEvent::GrabKeyboard. Quand il les perd, il re�oit un �v�nement QEvent::UngrabKeyboard. Ces �v�nements peuvent �tre utilis�s pour d�terminer si l'�l�ment devient destinataire des entr�es clavier par d'autres moyens que par la prise du focus de saisie.

Il n'est quasiment jamais n�cessaire de prendre explicitement les entr�es clavier avec Qt, car Qt le fait naturellement de fa�on logique. En particulier, Qt prend le clavier quand l'�l�ment re�oit le focus de saisie et le rel�che quand le focus est perdu ou que l'�l�ment est cach�.

Notez que seuls les �l�ments visibles peuvent prendre le clavier. Appeler grabKeyboard() sur un �l�ment invisible n'a pas d'effet.

Les �v�nements clavier ne sont pas affect�s.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi ungrabKeyboard(), grabMouse() et setFocus().

void QGraphicsItem::grabMouse ()

L'�l�ment devient destinataire des entr�es souris.

L'�l�ment recevra toutes les entr�es souris de la sc�ne jusqu'� ce qu'un des �v�nements suivants se produise :

  • l'�l�ment devient invisible ;
  • l'�l�ment est retir� de la sc�ne ;
  • l'�l�ment est supprim� ;
  • l'�l�ment appelle ungrabMouse() ;
  • un autre �l�ment appelle grabMouse() ; les entr�es souris reviendront � l'�l�ment quand l'autre �l�ment appellera ungrabMouse().

Quand un �l�ment prend les entr�es souris, il re�oit un �v�nement QEvent::GrabMouse event. Quand il les perd, il re�oit un �v�nement QEvent::UngrabMouse. Ces �v�nements peuvent �tre utilis�s pour d�terminer si l'�l�ment devient destinataire des entr�es souris par d'autres moyens que la r�ception d'�v�nements de boutons de souris.

Il n'est quasiment jamais n�cessaire de prendre explicitement les entr�es souris avec Qt, car Qt le fait naturellement de fa�on logique. En particulier, Qt prend les entr�es souris quand un bouton est enfonc� et les garde jusqu'� ce que tous les boutons soient rel�ch�s. De m�me, les widgets Qt::Popup appellent grabMouse() implicitement quand on les affiche et ungrabMouse() quand on les cache.

Notez que seuls les �l�ments visibles peuvent prendre les entr�es souris. Appeler grabMouse() sur un �l�ment invisible n'a pas d'effet.

Les �v�nements clavier ne sont pas affect�s.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi QGraphicsScene::mouseGrabberItem(), ungrabMouse() et grabKeyboard().

QGraphicsEffect * QGraphicsItem::graphicsEffect () const

Renvoie un pointeur sur l'effet de cet �l�ment s'il en a un ; sinon 0.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setGraphicsEffect().

QGraphicsItemGroup * QGraphicsItem::group () const

Renvoie un pointeur sur le groupe de cet �l�ment ou 0 si cet �l�ment n'est pas membre d'un groupe.

Voir aussi setGroup(), QGraphicsItemGroup et QGraphicsScene::createItemGroup().

bool QGraphicsItem::hasCursor () const

Renvoie vrai si un pointeur de souris a �t� d�fini pour cet �l�ment ; sinon, renvoie faux.

Par d�faut, les �l�ments n'ont pas de pointeur d�fini. cursor() renvoie un pointeur fl�che standard.

Voir aussi unsetCursor().

bool QGraphicsItem::hasFocus () const

Renvoie vrai si cet �l�ment est actif et si lui-m�me ou son focus proxy poss�de le focus pour les entr�es clavier ; sinon, renvoie faux.

Voir aussi focusItem(), setFocus(), QGraphicsScene::setFocusItem() et isActive().

void QGraphicsItem::hide ()

Cache l'�l�ment (les �l�ments sont visibles par d�faut).

Cette fonction est �quivalente � l'appel de setVisible(false).

Voir aussi show() et setVisible().

void QGraphicsItem::hoverEnterEvent ( QGraphicsSceneHoverEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de d�but de survol pour cet �l�ment. L'impl�mentation par d�faut appelle update() ; elle ne fait rien d'autre.

Appeler QEvent::ignore() ou QEvent::accept() sur event n'a pas d'effet.

Voir aussi hoverMoveEvent(), hoverLeaveEvent(), sceneEvent() et setAcceptHoverEvents().

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

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de fin de survol pour cet �l�ment. L'impl�mentation par d�faut appelle update() ; elle ne fait rien d'autre.

Appeler QEvent::ignore() ou QEvent::accept() sur event n'a pas d'effet.

Voir aussi hoverEnterEvent(), hoverMoveEvent(), sceneEvent() et setAcceptHoverEvents().

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

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de d�placement pendant le survol pour cet �l�ment. L'impl�mentation par d�faut ne fait rien.

Appeler QEvent::ignore() ou QEvent::accept() sur event n'a pas d'effet.

Voir aussi hoverEnterEvent(), hoverLeaveEvent(), sceneEvent() et setAcceptHoverEvents().

void QGraphicsItem::inputMethodEvent ( QInputMethodEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de m�thode de saisie pour cet �l�ment. L'impl�mentation par d�faut ignore l'�v�nement.

Voir aussi inputMethodQuery() et sceneEvent().

Qt::InputMethodHints QGraphicsItem::inputMethodHints () const

Renvoie les indicateurs de m�thodes de saisie de cet �l�ment.

Les indicateurs de m�thodes de saisie sont pertinents seulement pour les �l�ments de saisie. Les indicateurs sont utilis�s par les m�thodes de saisie pour donner des informations sur l'op�ration. Par exemple, si le drapeau Qt::ImhNumbersOnly est activ�, la m�thode de saisie peut changer ses composants visuels pour refl�ter le fait que seuls des nombres sont accept�s.

L'effet peut varier suivant l'impl�mentation des m�thodes de saisie.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setInputMethodHints(), inputMethodQuery() et QInputContext.

QVariant QGraphicsItem::inputMethodQuery ( Qt::InputMethodQuery query ) const [virtual protected]

Cette m�thode est pertinente seulement pour les �l�ments de saisie. Elle est utilis�e par les m�thodes de saisie pour demander des valeurs de propri�t�s afin de pouvoir g�rer les op�rations de saisie complexes, comme la gestion du texte entourant l'�l�ment et les reconversions. query sp�cifie quelle propri�t� est demand�e.

Voir aussi inputMethodEvent(), QInputMethodEvent et QInputContext.

void QGraphicsItem::installSceneEventFilter ( QGraphicsItem * filterItem )

Installe un filtre d'�v�nements pour cet �l�ment par filterItem, ce qui fera que tous les �v�nements destin�s � cet �l�ment passeront d'abord par la fonction sceneEventFilter() de filterItem.

Pour filtrer les �v�nements d'un autre �l�ment, installez cet �l�ment comme filtre d'�v�nements pour cet autre �l�ment. Exemple :

 QGraphicsScene scene;
 QGraphicsEllipseItem *ellipse = scene.addEllipse(QRectF(-10, -10, 20, 20));
 QGraphicsLineItem *line = scene.addLine(QLineF(-10, -10, 20, 20));
 
 line->installSceneEventFilter(ellipse);
 // line's events are filtered by ellipse's sceneEventFilter() function.
 
 ellipse->installSceneEventFilter(line);
 // ellipse's events are filtered by line's sceneEventFilter() function.

Un �l�ment peut seulement filtrer les �v�nements d'�l�ments de sa sc�ne. Un �l�ment ne peut pas non plus filtrer ses propres �v�nements ; pour ce faire, r�impl�mentez directement sceneEvent().

Les �l�ments doivent appartenir � une sc�ne pour d�finir et utiliser des filtres d'�v�nements de sc�ne.

Voir aussi removeSceneEventFilter(), sceneEventFilter() et sceneEvent().

bool QGraphicsItem::isActive () const

Renvoie vrai si cet �l�ment est actif; sinon renvoie faux.

Un �l�ment peut �tre actif seulement si sa sc�ne est active. Un �l�ment est actif s'il est le descendant d'un panneau actif ou est lui-m�me un panneau actif. Les �l�ments de panneaux inactifs sont inactifs.

Les �l�ments ne faisant pas partie d'un panneau suivent l'activation de la sc�ne lorsque la sc�ne n'a pas de panneau actif.

Seuls les �l�ments actifs peuvent obtenir le focus de saisie.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi QGraphicsScene::isActive(), QGraphicsScene::activePanel(), panel() et isPanel().

bool QGraphicsItem::isAncestorOf ( const QGraphicsItem * child ) const

Renvoie vrai si cet �l�ment est un anc�tre de child (c'est-�-dire si cet �l�ment est le parent de child ou un anc�tre de son parent).

Voir aussi parentItem().

bool QGraphicsItem::isBlockedByModalPanel ( QGraphicsItem ** blockingPanel = 0 ) const

Renvoie vrai si cet �l�ment est bloqu� par un panneau modal, faux sinon. Si blockingPanel est diff�rent de z�ro, blockingPanel recevra comme affectation le panneau bloquant cet �l�ment. Si cet �l�ment n'est pas bloqu�, blockingPanel ne sera pas modifi� par cette fonction.

Cette fonction retourne toujours vrai pour les objets ne faisant pas partie d'une sc�ne.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi panelModality(), setPanelModality() et PanelModality.

bool QGraphicsItem::isClipped () const

Renvoie vrai si cet �l�ment est d�tour�. Un �l�ment est d�tour� s'il a activ� le drapeau ItemClipsToShape ou si un des ses anc�tres ou lui-m�me a activ� le drapeau ItemClipsChildrenToShape.

Le d�tourage affecte l'apparence de l'�l�ment (c'est-�-dire son dessin), mais �galement la r�ception des �v�nements souris et survol.

Voir aussi clipPath(), shape() et setFlags().

bool QGraphicsItem::isEnabled () const

Renvoie vrai si l'�l�ment est actif; sinon, renvoie faux.

Voir aussi setEnabled().

bool QGraphicsItem::isObscured () const

Renvoie vrai si le rectangle fronti�re de cet �l�ment est compl�tement recouvert par la forme opaque d'un �l�ment au dessus de lui (c'est-�-dire avec une valeur Z sup�rieure � celle de cet �l�ment).

Son impl�mentation est bas�e sur l'appel de isObscuredBy(), que vous pouvez r�impl�menter pour fournir un algorithme de test de recouvrement personnalis�.

Voir aussi opaqueArea().

bool QGraphicsItem::isObscured ( qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de isObscured(QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.3.

bool QGraphicsItem::isObscured ( const QRectF & rect ) const

Il s'agit d'une fonction surcharg�e.

Renvoie vrai si rect est compl�tement recouvert par la forme opaque d'un �l�ment au-dessus de lui (c'est-�-dire avec une valeur Z sup�rieure � celle de cet �l�ment).

Contrairement � la fonction isObscured() par d�faut, cette fonction n'appelle pas isObscuredBy().

Cette fonction a �t� introduite dans Qt 4.3.

Voir aussi opaqueArea().

bool QGraphicsItem::isObscuredBy ( const QGraphicsItem * item ) const [virtual]

Renvoie vrai si le rectangle fronti�re de cet �l�ment est compl�tement recouvert par la forme opaque de item.

L'impl�mentation de base fait correspondre opaqueArea() de l'�l�ment item dans le syst�me de coordonn�es de cet �l�ment et ensuite v�rifie si boundingRect() de cet �l�ment est enti�rement contenu dans cette forme.

Vous pouvez r�impl�menter cette fonction pour fournir un algorithme de test personnalis� pour le recouvrement de cet �l�ment par item .

Voir aussi opaqueArea() et isObscured().

bool QGraphicsItem::isPanel () const

Renvoie vrai si l'�l�ment est un panneau ; sinon renvoie faux.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi QGraphicsItem::panel() et ItemIsPanel.

bool QGraphicsItem::isSelected () const

Renvoie vrai si cet �l�ment est s�lectionn� ; sinon, renvoie faux.

Les �l�ments d'un groupe h�ritent de l'�tat de s�lection du groupe.

Les �l�ments ne sont pas s�lectionn�s par d�faut.

Voir aussi setSelected() et QGraphicsScene::setSelectionArea().

bool QGraphicsItem::isUnderMouse () const

Renvoie vrai si cet �l�ment est actuellement sous le pointeur de la souris dans une des vues ; sinon, renvoie faux.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi QGraphicsScene::views() et QCursor::pos().

bool QGraphicsItem::isVisible () const

Renvoie vrai si l'�l�ment est visible ; sinon, renvoie faux.

Notez que la visibilit� g�n�rale de l'�l�ment n'est pas li�e au fait qu'il soit r�ellement affich� dans une QGraphicsView.

Voir aussi setVisible().

bool QGraphicsItem::isVisibleTo ( const QGraphicsItem * parent ) const

Renvoie vrai si l'�l�ment est visible pour parent ; sinon, renvoie faux. parent peut �tre 0, auquel cas cette fonction renvoie le fait que l'�l�ment est visible ou pas pour la sc�ne.

Un �l�ment peut �tre invisible pours ses anc�tres m�me si isVisible() est vrai. Si un des anc�tres est cach�, l'�l�ment lui-m�me sera implicitement cach�, auquel cas cette fonction renverra faux.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi isVisible() et setVisible().

bool QGraphicsItem::isWidget () const

Renvoie vrai si cet �l�ment est un widget (c'est-�-dire un QGraphicsWidget) ; sinon, renvoie faux.

Cette fonction a �t� introduite dans Qt 4.4.

bool QGraphicsItem::isWindow () const

Renvoie vrai si cet �l�ment est un QGraphicsWidget fen�tre, sinon renvoie faux.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi QGraphicsWidget::windowFlags().

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

Cette fonction virtuelle est appel�e par QGraphicsItem pour notifier les QGraphicsItem personnalis�s qu'un param�tre de l'�l�ment change. En r�impl�mentant cette fonction, vous pouvez r�agir au changement et dans certains cas (en fonction de change), des adjustements peuvent �tre faits.

change est le param�tre de l'�l�ment qui change. value est la nouvelle valeur ; le type de la valeur d�pend de change.

Exemple :

 QVariant Component::itemChange(GraphicsItemChange change, const QVariant &value)
 {
     if (change == ItemPositionChange && scene()) {
         // value is the new position.
         QPointF newPos = value.toPointF();
         QRectF rect = scene()->sceneRect();
         if (!rect.contains(newPos)) {
             // Keep the item inside the scene rect.
             newPos.setX(qMin(rect.right(), qMax(newPos.x(), rect.left())));
             newPos.setY(qMin(rect.bottom(), qMax(newPos.y(), rect.top())));
             return newPos;
         }
     }
     return QGraphicsItem::itemChange(change, value);
 }

L'impl�mentation par d�faut ne fait rien et renvoie value.

Note : certaine fonctions de QGraphicsItem ne peuvent pas �tre appel�es dans une r�impl�mentation de cette fonction ; voir la documentation de GraphicsItemChange pour les d�tails.

Voir aussi GraphicsItemChange.

QTransform QGraphicsItem::itemTransform ( const QGraphicsItem * other, bool * ok = 0 ) const

Renvoie une QTransform qui convertit les coordonn�es de cet �l�ment vers other. Si ok n'est pas null et qu'une telle transformation n'existe pas, le bool�en point� par ok sera mis � faux ; sinon il sera mis � vrai.

Cette transformation fournit une alternative aux fonctions mapToItem() ou mapFromItem(), en renvoyant la transformation appropri�e afin que vous puissiez convertir les formes et les coordonn�es vous-m�me. Elle permet aussi d'�crire un code plus efficace lors de conversions r�p�t�es entre les deux m�mes �l�ments.

Note : dans de rares circonstances, aucune transformation n'existe pour convertir les coordonn�es entre deux objets.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi mapToItem(), mapFromItem() et deviceTransform().

void QGraphicsItem::keyPressEvent ( QKeyEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de touche enfonc�e pour cet �l�ment. L'impl�mentation par d�faut ignore l'�v�nement. Si vous r�impl�mentez ce gestionnaire, l'�v�nement sera accept� par d�faut.

Notez que les �v�nements de touche sont re�us seulement pour les �l�ments ayant activ� le drapeau ItemIsFocusable et qui poss�dent le focus pour les entr�es clavier.

Voir aussi keyReleaseEvent(), setFocus(), QGraphicsScene::setFocusItem() et sceneEvent().

void QGraphicsItem::keyReleaseEvent ( QKeyEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de touche rel�ch�e pour cet �l�ment. L'impl�mentation par d�faut ignore l'�v�nement. Si vous r�impl�mentez ce gestionnaire, l'�v�nement sera accept� par d�faut.

Notez que les �v�nements de touche sont re�us seulement pour les �l�ments ayant activ� le drapeau ItemIsFocusable et qui poss�dent le focus pour les entr�es clavier.

Voir aussi keyPressEvent(), setFocus(), QGraphicsScene::setFocusItem() et sceneEvent().

QPointF QGraphicsItem::mapFromItem ( const QGraphicsItem * item, const QPointF & point ) const

Convertit le point point, qui est dans le syst�me de coordonn�es de item, dans le syst�me de coordonn�es de l'�l�ment et renvoie les coordonn�es converties.

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapFromScene().

Voir aussi itemTransform(), mapFromParent(), mapFromScene(), transform(), mapToItem() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapFromItem ( const QGraphicsItem * item, const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es de item, dans le syst�me de coordonn�es de l'�l�ment et renvoie le rectangle converti sous la forme d'un polygone.

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapFromScene()

Voir aussi itemTransform(), mapToItem(), mapFromParent(), transform() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapFromItem ( const QGraphicsItem * item, const QPolygonF & polygon ) const

Convertit le polygon polygon, qui est dans le syst�me de coordonn�es de item, dans le syst�me de coordonn�es de l'�l�ment et renvoie le polygone converti.

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapFromScene().

Voir aussi itemTransform(), mapToItem(), mapFromParent(), transform() et Le syst�me de coordonn�es de la vue graphique.

QPainterPath QGraphicsItem::mapFromItem ( const QGraphicsItem * item, const QPainterPath & path ) const

Convertit le path path, qui est dans le syst�me de coordonn�es de item, dans le syst�me de coordonn�es de l'�l�ment et renvoie le chemin converti.

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapFromScene().

Voir aussi itemTransform(), mapFromParent(), mapFromScene(), mapToItem() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapFromItem ( const QGraphicsItem * item, qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapFromItem(item, QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.3.

QPointF QGraphicsItem::mapFromItem ( const QGraphicsItem * item, qreal x, qreal y ) const

Il s'agit d'une fonction surcharg�e.

Cette fonction est �quivalente � l'appel de mapFromItem(item, QPointF(x, y)).

QPointF QGraphicsItem::mapFromParent ( const QPointF & point ) const

Convertit le point point, qui est dans le syst�me de coordonn�es du parent de l'�l�ment, dans le syst�me de coordonn�es de l'�l�ment et renvoie les coordonn�es converties.

Voir aussi mapFromItem(), mapFromScene(), transform(), mapToParent() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapFromParent ( const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es du parent de l'�l�ment, dans le syst�me de coordonn�es de l'�l�ment et renvoie le rectangle converti sous la forme d'un polygone.

Voir aussi mapToParent(), mapFromItem(), transform() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapFromParent ( const QPolygonF & polygon ) const

Convertit le polygon polygon, qui est dans le syst�me de coordonn�es du parent de l'�l�ment, dans le syst�me de coordonn�es de l'�l�ment et renvoie le polygone converti.

Voir aussi mapToParent(), mapToItem(), transform() et Le syst�me de coordonn�es de la vue graphique.

QPainterPath QGraphicsItem::mapFromParent ( const QPainterPath & path ) const

Convertit le path path, qui est dans le syst�me de coordonn�es du parent de l'�l�ment, dans le syst�me de coordonn�es de l'�l�ment et renvoie le chemin converti.

Voir aussi mapFromScene(), mapFromItem(), mapToParent() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapFromParent ( qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapFromItem(QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.3.

QPointF QGraphicsItem::mapFromParent ( qreal x, qreal y ) const

Il s'agit d'une fonction surcharg�e.

Cette fonction est �quivalente � l'appel de mapFromParent(QPointF(x, y)).

QPointF QGraphicsItem::mapFromScene ( const QPointF & point ) const

Convertit le point point, qui est dans le syst�me de coordonn�es de la sc�ne, dans le syst�me de coordonn�es de l'�l�ment et renvoie les coordonn�es converties.

Voir aussi mapFromItem(), mapFromParent(), transform(), mapToScene() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapFromScene ( const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es de la sc�ne, dans le syst�me de coordonn�es de l'�l�ment et renvoie le rectangle converti sous la forme d'un polygone.

Voir aussi mapToScene(), mapFromItem(), transform() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapFromScene ( const QPolygonF & polygon ) const

Convertit le polygon polygon, qui est dans le syst�me de coordonn�es de la sc�ne, dans le syst�me de coordonn�es de l'�l�ment et renvoie le polygone converti.

Voir aussi mapToScene(), mapFromParent(), transform() et Le syst�me de coordonn�es de la vue graphique.

QPainterPath QGraphicsItem::mapFromScene ( const QPainterPath & path ) const

Convertit le path path, qui est dans le syst�me de coordonn�es de la sc�ne, dans le syst�me de coordonn�es de l'�l�ment et renvoie le chemin converti.

Voir aussi mapFromParent(), mapFromItem(), mapToScene() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapFromScene ( qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapFromScene(QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.3.

QPointF QGraphicsItem::mapFromScene ( qreal x, qreal y ) const

Il s'agit d'une fonction surcharg�e.

Cette fonction est �quivalente � l'appel de mapFromScene(QPointF(x, y)).

QRectF QGraphicsItem::mapRectFromItem ( const QGraphicsItem * item, const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es de item, dans le syst�me de coordonn�es de l'�l�ment et renvoie le rectangle converti sous forme d'un nouveau rectangle (qui est le rectangle fronti�re du polygone r�sultant).

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapRectFromScene().

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi itemTransform(), mapToParent(), mapToScene(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QRectF QGraphicsItem::mapRectFromItem ( const QGraphicsItem * item, qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapRectFromItem(item, QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.5.

QRectF QGraphicsItem::mapRectFromParent ( const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es du parent de l'�l�ment, dans le syst�me de coordonn�es de l'�l�ment et renvoie le rectangle converti sous forme d'un nouveau rectangle (qui est le rectangle fronti�re du polygone r�sultant).

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi itemTransform(), mapToParent(), mapToScene(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QRectF QGraphicsItem::mapRectFromParent ( qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapRectFromParent(QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.5.

QRectF QGraphicsItem::mapRectFromScene ( const QRectF & rect ) const

Convertit le rectangle rect, qui est en coordonn�es de sc�ne, dans le syst�me de coordonn�es de l'�l�ment et renvoie le rectangle converti sous forme d'un nouveau rectangle (qui est le rectangle fronti�re du polygone r�sultant).

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi itemTransform(), mapToParent(), mapToScene(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QRectF QGraphicsItem::mapRectFromScene ( qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapRectFromScene(QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.5.

QRectF QGraphicsItem::mapRectToItem ( const QGraphicsItem * item, const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de item et renvoie le rectangle converti sous forme d'un nouveau rectangle (qui est le rectangle fronti�re du polygone r�sultant).

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapRectToScene().

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi itemTransform(), mapToParent(), mapToScene(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QRectF QGraphicsItem::mapRectToItem ( const QGraphicsItem * item, qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapRectToItem(item, QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.5.

QRectF QGraphicsItem::mapRectToParent ( const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de son parent et renvoie le rectangle converti sous forme d'un nouveau rectangle (qui est le rectangle fronti�re du polygone r�sultant).

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi itemTransform(), mapToParent(), mapToScene(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QRectF QGraphicsItem::mapRectToParent ( qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapRectToParent(QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.5.

QRectF QGraphicsItem::mapRectToScene ( const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de la sc�ne et renvoie le rectangle converti sous forme d'un nouveau rectangle (qui est le rectangle fronti�re du polygone r�sultant).

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi itemTransform(), mapToParent(), mapToScene(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QRectF QGraphicsItem::mapRectToScene ( qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapRectToScene(QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.5.

QPointF QGraphicsItem::mapToItem ( const QGraphicsItem * item, const QPointF & point ) const

Convertit le point point, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de item et renvoie les coordonn�es converties.

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapToScene().

Voir aussi itemTransform(), mapToParent(), mapToScene(), transform(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapToItem ( const QGraphicsItem * item, const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de item et renvoie le rectangle converti sous la forme d'un polygone.

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapToScene().

Voir aussi itemTransform(), mapToParent(), mapToScene(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapToItem ( const QGraphicsItem * item, const QPolygonF & polygon ) const

Convertit le polygone polygon, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de item et renvoie le polygone converti.

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapToScene().

Voir aussi itemTransform(), mapToParent(), mapToScene(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QPainterPath QGraphicsItem::mapToItem ( const QGraphicsItem * item, const QPainterPath & path ) const

Convertit le chemin path, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de item et renvoie le chemin converti.

Si item vaut 0, cette fonction renvoie le m�me r�sultat que mapToScene().

Voir aussi itemTransform(), mapToParent(), mapToScene(), mapFromItem() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapToItem ( const QGraphicsItem * item, qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapToItem(item, QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.3.

QPointF QGraphicsItem::mapToItem ( const QGraphicsItem * item, qreal x, qreal y ) const

Il s'agit d'une fonction surcharg�e.

Cette fonction est �quivalente � l'appel de mapToItem(item, QPointF(x, y)).

QPointF QGraphicsItem::mapToParent ( const QPointF & point ) const

Convertit le point point, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de son parent et renvoie les coordonn�es converties. Si l'�l�ment n'a pas de parent, point sera converti dans le syst�me de coordonn�es de la sc�ne.

Voir aussi mapToItem(), mapToScene(), transform(), mapFromParent() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapToParent ( const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de son parent et renvoie le rectangle converti sous la forme d'un polygone. Si l'�l�ment n'a pas de parent, rect sera converti dans le syst�me de coordonn�es de la sc�ne.

Voir aussi mapToScene(), mapToItem(), mapFromParent() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapToParent ( const QPolygonF & polygon ) const

Convertit le polygon polygon, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de son parent et renvoie le polygone converti. Si l'�l�ment n'a pas de parent, polygon sera converti dans le syst�me de coordonn�es de la sc�ne.

Voir aussi mapToScene(), mapToItem(), mapFromParent() et Le syst�me de coordonn�es de la vue graphique.

QPainterPath QGraphicsItem::mapToParent ( const QPainterPath & path ) const

Convertit le path path, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de son parent et renvoie le chemin converti. Si l'�l�ment n'a pas de parent, path sera converti dans le syst�me de coordonn�es de la sc�ne.

Voir aussi mapToScene(), mapToItem(), mapFromParent() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapToParent ( qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapToParent(QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.3.

QPointF QGraphicsItem::mapToParent ( qreal x, qreal y ) const

Il s'agit d'une fonction surcharg�e.

Cette fonction est �quivalente � l'appel de mapToParent(QPointF(x, y)).

QPointF QGraphicsItem::mapToScene ( const QPointF & point ) const

Convertit le point point, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de la sc�ne et renvoie les coordonn�es converties.

Voir aussi mapToItem(), mapToParent(), transform(), mapFromScene() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapToScene ( const QRectF & rect ) const

Convertit le rectangle rect, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de la sc�ne et renvoie le rectangle converti sous la forme d'un polygone.

Voir aussi mapToParent(), mapToItem(), mapFromScene() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapToScene ( const QPolygonF & polygon ) const

Convertit le polygon polygon, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de la sc�ne et renvoie le polygone converti.

Voir aussi mapToParent(), mapToItem(), mapFromScene() et Le syst�me de coordonn�es de la vue graphique.

QPainterPath QGraphicsItem::mapToScene ( const QPainterPath & path ) const

Convertit le path path, qui est dans le syst�me de coordonn�es de l'�l�ment, vers le syst�me de coordonn�es de la sc�ne et renvoie le chemin converti.

Voir aussi mapToParent(), mapToItem(), mapFromScene() et Le syst�me de coordonn�es de la vue graphique.

QPolygonF QGraphicsItem::mapToScene ( qreal x, qreal y, qreal w, qreal h ) const

Cette fonction est �quivalente � l'appel de mapToScene(QRectF(x, y, w, h)).

Cette fonction a �t� introduite dans Qt 4.3.

QPointF QGraphicsItem::mapToScene ( qreal x, qreal y ) const

Il s'agit d'une fonction surcharg�e.

Cette fonction est �quivalente � l'appel de mapToScene(QPointF(x, y)).

void QGraphicsItem::mouseDoubleClickEvent ( QGraphicsSceneMouseEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de double-clic souris pour cet �l�ment.

Lorsqu'un �l�ment est double-cliqu�, il re�oit d'abord un �v�nement mousePress (touche appuy�e), suivi d'un mouseReleaseEvent (touche rel�ch�e, c'est-�-dire un clic), ensuite un double-clic et enfin, un autre mouseReleaseEvent.

Appeler QEvent::ignore() ou QEvent::accept() sur event n'a pas d'effet.

L'impl�mentation par d�faut appelle mousePressEvent(). Si vous voulez conserver l'impl�mentation de base lors de la r�impl�mentation de cette fonction, appelez QGraphicsItem::mouseDoubleClickEvent() dans votre r�implementation.

Notez qu'un �l�ment ne recevra pas les doubles-clics s'il n'est pas selectable ou movable (dans ce cas les simples clics sont ignor�s et bloquent la g�n�ration des doubles-clics).

Voir aussi mousePressEvent(), mouseMoveEvent(), mouseReleaseEvent() et sceneEvent().

void QGraphicsItem::mouseMoveEvent ( QGraphicsSceneMouseEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de d�placement de souris pour cet �l�ment. Si vous recevez cet �v�nement, vous pouvez �tre certain que cet �l�ment a aussi re�u un �v�nement de bouton appuy� et que cet �l�ment est actuellement le destinataire de tous les �v�nements souris.

Appeler QEvent::ignore() ou QEvent::accept() sur event n'a pas d'effet.

L'impl�mentation par d�faut g�re les interactions de base de l'�l�ment, comme la s�lection et le d�placement. Si vous voulez conserver l'impl�mentation de base lors de la r�impl�mentation de cette fonction, appelez QGraphicsItem::mouseMoveEvent() dans votre r�impl�mentation.

Notez que mousePressEvent() d�cide de l'�l�ment graphique qui recevra les �v�nements souris. Voir la description de mousePressEvent() pour les d�tails.

Voir aussi mousePressEvent(), mouseReleaseEvent(), mouseDoubleClickEvent() et sceneEvent().

void QGraphicsItem::mousePressEvent ( QGraphicsSceneMouseEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements d'appui sur un bouton de souris pour cet �l�ment. Ces �v�nements sont seulement envoy�s aux �l�ments acceptant les �v�nements pour ce bouton. Par d�faut, un �l�ment accepte tous les boutons mais vous pouvez changer ce comportement en appelant setAcceptedMouseButtons().

Cet �v�nement d�termine quel �l�ment sera destinataire des �v�nements souris suivants (voir QGraphicsScene::mouseGrabberItem()). Si vous ne r�impl�mentez pas cette fonction, l'�v�nement d'appui se propagera � un �ventuel �l�ment de premier niveau situ� sous cet �l�ment et aucun autre �v�nement souris ne sera envoy� � cet �l�ment.

Si vous r�impl�mentez cette fonction, event sera accept� par d�faut (voir QEvent::accept()) et cet �l�ment « prendra » la souris. Cela permettra � l'�l�ment de recevoir les futurs �v�nements d�placement, clic et double-clic. Si vous appelez QEvent::ignore() sur event, cet �l�ment ne prendra pas la souris et event se propagera � un �l�ment situ� en dessous. Aucun autre �v�nement souris ne sera envoy� � cet �l�ment jusqu'� un prochain �v�nement d'appui de bouton.

L'impl�mentation par d�faut g�re les interactions de base de l'�l�ment, comme la s�lection et le d�placement. Si vous voulez conserver l'impl�mentation de base lors de la r�impl�mentation de cette fonction, appelez QGraphicsItem::mousePressEvent() dans votre r�impl�mentation.

Si un �l�ment n'est ni movable ni selectable, QEvent::ignore() sera appel� pour cet �v�nement.

Voir aussi mouseMoveEvent(), mouseReleaseEvent(), mouseDoubleClickEvent() et sceneEvent().

void QGraphicsItem::mouseReleaseEvent ( QGraphicsSceneMouseEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de bouton de souris rel�ch� pour cet �l�ment.

Appeler QEvent::ignore() ou QEvent::accept() sur event n'a pas d'effet.

L'impl�mentation par d�faut g�re les interactions de base de l'�l�ment, comme la s�lection et le d�placement. Si vous voulez conserver l'impl�mentation de base lors de la r�impl�mentation de cette fonction, appelez QGraphicsItem::mouseReleaseEvent() dans votre r�impl�mentation.

Notez que mousePressEvent() d�cide de l'�l�ment graphique qui recevra les �v�nements souris. Voir la description mousePressEvent() pour les d�tails.

Voir aussi mousePressEvent(), mouseMoveEvent(), mouseDoubleClickEvent() et sceneEvent().

void QGraphicsItem::moveBy ( qreal dx, qreal dy )

D�place l'�l�ment de dx points horizontalement et dy points verticalement. Cette fonction est l'�quivalent de l'appel de setPos(pos() + QPointF(dx, dy)).

qreal QGraphicsItem::opacity () const

Renvoie l'opacit� locale de l'�l�ment, qui est entre 0.0 (transparent) et 1.0 (opaque). Cette valeur est combin�e avec les valeurs des parents et anc�tres dans effectiveOpacity(). L'opacit� effective d�cide du rendu de l'�l�ment.

La propri�t� opacit� d�cide de l'�tat du QPainter pass� � la fonction paint(). Si l'�l�ment utilise le cache, c'est-�-dire ItemCoordinateCache ou DeviceCoordinateCache, la propri�t� effective sera appliqu�e au cache pendant le rendu.

L'opacit� par d�faut est 1.0 (compl�tement opaque).

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi setOpacity(), paint(), ItemIgnoresParentOpacity et ItemDoesntPropagateOpacityToChildren.

QPainterPath QGraphicsItem::opaqueArea () const [virtual]

Cette fonction virtuelle renvoie une forme repr�sentant la zone dans laquelle cet �l�ment est opaque. Une zone est opaque si elle est remplie en utilisant une brosse ou une couleur opaque (c'est-�-dire non transparente).

Cette fonction est utilis�e par isObscuredBy(), qui est appel�e par les �l�ments du dessous pour d�terminer s'ils sont masqu�s par cet �l�ment.

L'impl�mentation par d�faut renvoie un QPainterPath vide, indiquant que cet �l�ment est compl�tement transparent et ne masque aucun autre �l�ment.

Voir aussi isObscuredBy(), isObscured() et shape().

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

Cette fonction, qui est en g�n�ral appel�e par QGraphicsView, dessine le contenu d'un �l�ment en coordonn�es locales.

R�impl�mentez cette fonction dans une classe d�riv�e de QGraphicsItem pour fournir une impl�mentation du dessin de l'�l�ment, en utilisant painter. Le param�tre option contient des options de style pour l'�l�ment, comme son �tat, la zone expos�e et le niveau de d�tails demand�. L'argument widget est optionnel. S'il est fourni, il pointe sur le widget en train d'�tre dessin� ; sinon, il est � 0. Pour le dessin en cache, widget est toujours 0.

 void RoundRectItem::paint(QPainter *painter,
                           const QStyleOptionGraphicsItem *option,
                           QWidget *widget)
 {
     painter->drawRoundedRect(-10, -10, 20, 20, 5, 5);
 }

Le QPen du Qpainter a une largeur de 0 par d�faut et est initialis� � la brosse QPalette::Text de la palette du p�riph�rique de destination. La brosse est initialis�e � QPalette::Window.

Assurez-vous que vos dessins ne d�bordent pas du cadre du boundingRect() pour �viter des d�fauts de rendu, �tant donn� que QGraphicsView ne va pas �liminer ces portions en trop pour vous. En particulier, lorsque QPainter fait le rendu de la bordure d'une forme en utilisant un QPen donn�, la moiti� de la bordure sera dessin�e � l'int�rieur et l'autre moiti� � l'ext�rieur de la forme que vous dessinez (par exemple avec une largeur de 2 unit�s, vous devez dessiner les bordures avec 1 unit� � l'int�rieur du boundingRect()). QGraphicsItem ne g�re pas l'usage de Qpen cosm�tiques avec une largeur diff�rente de z�ro.

Tous les dessins sont faits en coordonn�es locales.

Voir aussi setCacheMode(), QPen::width(), Item Coordinates et ItemUsesExtendedStyleOption.

QGraphicsItem * QGraphicsItem::panel () const

Renvoie le panneau de l'�l�ment ou 0 si cet �l�ment n'a pas de panneau. Si l'�l�ment est un panneau, il se renvoie lui-m�me, sinon il renverra le panneau le plus proche parmi ses anc�tres.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi isPanel() et ItemIsPanel.

PanelModality QGraphicsItem::panelModality () const

Renvoie la modalit� de cet �l�ment.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setPanelModality().

QGraphicsItem * QGraphicsItem::parentItem () const

Renvoie un pointeur sur le parent de cet �l�ment. Si cet �l�ment n'a pas de parent, renvoie 0.

Voir aussi setParentItem() et childItems().

QGraphicsObject * QGraphicsItem::parentObject () const

Renvoie un pointeur sur le parent de cet �l�ment, converti en QGraphicsObject. Renvoie 0 si le parent n'est pas un QGraphicsObject.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi parentItem() et childItems().

QGraphicsWidget * QGraphicsItem::parentWidget () const

Renvoie un pointeur sur le widget parent de cet �l�ment. Le widget parent est le parent le plus proche de type QWidget.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi parentItem() et childItems().

QPointF QGraphicsItem::pos () const

Renvoie la position de l'�l�ment dans les coordonn�es du parent. Si l'�l�ment n'a pas de parent, sa position est donn�e en coordonn�es de sc�ne.

La position de l'�l�ment est celle de son origine (coordonn�es locales (0, 0)) dans les coordonn�es du parent ; cette fonction renvoie le m�me r�sultat que mapToParent(0, 0).

Vous pouvez aussi appeler scenePos() pour d�terminer la position de l'�l�ment en coordonn�es de sc�ne, ind�pendamment de son parent.

Voir aussi x(), y(), setPos(), transform() et Le syst�me de coordonn�es de la vue graphique.

void QGraphicsItem::prepareGeometryChange () [protected]

Pr�pare l'�l�ment pour un changement de g�om�trie. Appelez cette fonction avant de modifier le rectangle fronti�re d'un �l�ment pour que l'index de QGraphicsScene reste � jour.

prepareGeometryChange() appellera update() si n�cessaire.

Exemple :

 void CircleItem::setRadius(qreal newRadius)
 {
     if (radius != newRadius) {
         prepareGeometryChange();
         radius = newRadius;
     }
 }

Voir aussi boundingRect().

void QGraphicsItem::removeSceneEventFilter ( QGraphicsItem * filterItem )

Supprime un filtre d'�v�nements sur cet �l�ment de filterItem.

Voir aussi installSceneEventFilter().

void QGraphicsItem::resetTransform ()

R�initialise la matrice de transformation de l'�l�ment � la matrice identit� ou toutes les propri�t�s de transformation � leurs valeurs par d�faut. Cette fonction est �quivalente � l'appel de setTransform(QTransform()).

Cette fonction a �t� introduite dans Qt 4.3.

Voir aussi setTransform() et transform().

qreal QGraphicsItem::rotation () const

Renvoie la rotation dans le sens horaire, en degr�s, autour de l'axe Z. La valeur par d�faut est 0 (pas de rotation).

La rotation est combin�e avec scale(), transform() et transformations() pour convertir le syst�me de coordonn�es de l'�l�ment vers celui de l'�l�ment parent.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setRotation(), transformOriginPoint() et Transformations.

qreal QGraphicsItem::scale () const

Renvoie le facteur d'�chelle de l'�l�ment. Le facteur par d�faut est 1.0 (l'�l�ment n'est pas redimensionn�).

Ce facteur est combin� avec rotation(), transform() et transformations() pour convertir le syst�me de coordonn�es de l'�l�ment vers celui de l'�l�ment parent.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setScale(), rotation() et Transformations.

QGraphicsScene * QGraphicsItem::scene () const

Renvoie la sc�ne courante de l'�l�ment ou 0 si l'�l�ment ne fait pas partie d'une sc�ne.

Pour ajouter un �l�ment � une sc�ne, appelez QGraphicsScene::addItem().

QRectF QGraphicsItem::sceneBoundingRect () const

Renvoie le rectangle fronti�re de cet �l�ment en coordonn�es de sc�ne, en combinant sceneTransform() avec boundingRect().

Voir aussi boundingRect() et Le syst�me de coordonn�es de la vue graphique.

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

Cette fonction virtuelle re�oit les �v�nement destin�s � cet �l�ment. R�impl�mentez cette fonction pour intercepter les �v�nements avant qu'ils soient transmis aux gestionnaires sp�cialis�s contextMenuEvent(), focusInEvent(), focusOutEvent(), hoverEnterEvent(), hoverMoveEvent(), hoverLeaveEvent(), keyPressEvent(), keyReleaseEvent(), mousePressEvent(), mouseReleaseEvent(), mouseMoveEvent() et mouseDoubleClickEvent().

La fonction renvoie vrai si l'�v�nement a �t� reconnu et g�r� ; sinon (par exemple si le type d'�v�nement n'est pas connu), elle renvoie faux.

event est l'�v�nement intercept�.

bool QGraphicsItem::sceneEventFilter ( QGraphicsItem * watched, QEvent * event ) [virtual protected]

Filtre les �v�nements pour l'�l�ment watched. event est l'�v�nement filtr�.

La r�impl�mentation de cette fonction dans une classe d�riv�e rend possible l'utilisation de cette �l�ment comme filtre d'�v�nements pour les autres �l�ments, en interceptant tous les �v�nements destin�s � ces �l�ments avant qu'ils ne puissent y r�pondre.

Les r�impl�mentations doivent renvoyer true pour emp�cher la poursuite du traitement d'un �v�nement en s'assurant qu'il ne sera pas transmis � l'�l�ment surveill�, ou renvoyer false pour que l'�v�nement soit propag� par le syst�me d'�v�nements.

Voir aussi installSceneEventFilter().

QPointF QGraphicsItem::scenePos () const

Renvoie la position de l'�l�ment en coordonn�es de sc�ne. Cette fonction est �quivalente � l'appel de mapToScene(0, 0).

Voir aussi pos(), sceneTransform() et Le syst�me de coordonn�es de la vue graphique.

QTransform QGraphicsItem::sceneTransform () const

Renvoie la matrice de transformation de sc�ne de l'�l�ment. Cette matrice peut �tre utilis�e pour convertir des coordonn�es et des formes g�om�triques depuis le syst�me de coordonn�es locales de l'�l�ment vers le syst�me de coordonn�es de la sc�ne. Pour convertir depuis la sc�ne, vous devez d'abord inverser la matrice renvoy�e.

Exemple :

 QGraphicsRectItem rect;
 rect.setPos(100, 100);
 
 rect.sceneTransform().map(QPointF(0, 0));
 // returns QPointF(100, 100);
 
 rect.sceneTransform().inverted().map(QPointF(100, 100));
 // returns QPointF(0, 0);

Contrairement � transform(), qui renvoie seulement la transformation locale de l'�l�ment, cette fonction inclut la position de l'�l�ment (et de ses parents) et toutes les propri�t�s de transformation.

Cette fonction a �t� introduite dans Qt 4.3.

Voir aussi transform(), setTransform(), scenePos(), Le syst�me de coordonn�es de la vue graphique et Transformations.

void QGraphicsItem::scroll ( qreal dx, qreal dy, const QRectF & rect = QRectF() )

Fait d�filer le contenu de rect par dx, dy. Si rect est un rectangle null (la valeur par d�faut), c'est le rectangle fronti�re de l'�l�ment qui d�filera.

Le d�filement est une alternative au fait de simplement redessiner l'�l�ment lorsque son contenu (ou une portion de son contenu) est d�cal� horizontalement ou verticalement. En fonction de la transformation courante et des capacit�s du p�riph�rique de rendu, le d�filement peut consister uniquement � d�placer des pixels d'un endroit � un autre en utilisant memmove(). Dans la plupart des cas cette op�ration est plus rapide que d'effectuer un rendu de la zone enti�re.

Apr�s le d�filement, l'�l�ment effectuera une demande de mise � jour pour toutes les zones nouvellement expos�es. Si le d�filement n'est pas g�r� (par exemple si vous faites un rendu dans un afficheur OpenGL, qui ne b�n�ficie pas d'optimisations de d�filement), cette fonction est �quivalente � l'appel de update(rect).

Note : le d�filement est g�r� seulement si QGraphicsItem::ItemCoordinateCache est activ� ; dans tous les autres cas l'appel de cette fonction est �quivalent � l'appel de update(rect). Si vous �tes certain que l'�l�ment est opaque et n'est pas recouvert par d'autres �l�ments, vous pouvez convertir rect en coordonn�es d'affichage et faire d�filer la zone d'affichage dans la vue.

 QTransform xform = item->deviceTransform(view->viewportTransform());
 QRect deviceRect = xform.mapRect(rect).toAlignedRect();
 view->viewport()->scroll(dx, dy, deviceRect);

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi boundingRect().

void QGraphicsItem::setAcceptDrops ( bool on )

Si on est vrai, cet �l�ment acceptera les �v�nements de glisser-d�poser; sinon, il sera transparent pour les �v�nements de glisser-d�poser. Par d�faut, les �l�ments n'acceptent pas les �v�nements de glisser-d�poser.

Voir aussi acceptDrops().

void QGraphicsItem::setAcceptHoverEvents ( bool enabled )

Si enabled est vrai, cet �l�ment acceptera les �v�nements de survol ; sinon, il les ignorera. Par d�faut, les �l�ments n'acceptent pas les �v�nements de survol.

Les �v�nements de survol sont envoy�s si aucun �l�ment n'a « pris » la souris (voir mousePressEvent()). Ils sont envoy�s lorsque la souris arrive sur l'�l�ment, quand ils se d�placent sur l'�l�ment et quand ils quittent l'�l�ment. Les �v�nements de survol sont couramment utilis�s pour mettre en �vidence un �l�ment lorsqu'il est survol� et pour suivre le pointeur de souris pendant ses d�placements sur l'�l�ment (un �quivalent de QWidget::mouseTracking).

Les �l�ments parents re�oivent les �v�nements de d�but de survol avant leurs enfants et les �v�nements de fin de survol apr�s eux. Cependant, le parent ne re�oit pas de fin de survol lorsque le pointeur arrive sur un enfant ; le parent reste « survol� » lorsque le pointeur quitte sa zone, y compris celle de ses enfants.

Si un �l�ment parent g�re les �v�nements de ses enfants, il recevra, lorsque le curseur passe sur ses enfants, les �v�nements de d�placement pendant le survol, de d�placement pendant un glisser-d�poser, et de d�pose, mais ne recevra pas les d�but et fin de survol, ni les d�but et fin de glisser-d�poser pour le compte de ses enfants.

Un QGraphicsWidget avec des d�corations de fen�tre acceptera les �v�nements de survol ind�pendamment de la valeur de acceptHoverEvents().

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi acceptHoverEvents(), hoverEnterEvent(), hoverMoveEvent() et hoverLeaveEvent().

void QGraphicsItem::setAcceptTouchEvents ( bool enabled )

Si enabled est vrai, cet �l�ment acceptera �v�nements de touch�; sinon, il les ignorera. Par d�faut, les �l�ments n'acceptent pas les �v�nements de touch�.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi acceptTouchEvents().

void QGraphicsItem::setAcceptedMouseButtons ( Qt::MouseButtons buttons )

D�finit les boutons de souris accept�s par cet �l�ment.

Par d�faut, tous les boutons sont accept�s. Si un �l�ment accepte un bouton, il « prendra » la souris lorsqu'il recevra un �v�nement de bouton enfonc� pour ce bouton, c'est-�-dire qu'il deviendra le destinataire de tous les �v�nements de souris suivants. Si l'�l�ment n'accepte pas le bouton, QGraphicsScene transf�rera les �v�nements de souris au premier �l�ment en dessous de lui qui l'accepte.

Pour d�sactiver les �v�nements de souris pour un �l�ment (c'est-�-dire pour le rendre transparent � ces �v�nements), appelez setAcceptedMouseButtons(0).

Voir aussi acceptedMouseButtons() et mousePressEvent().

void QGraphicsItem::setActive ( bool active )

Si active est vrai et que la sc�ne est active, le panneau de cet �l�ment est activ�. Sinon, le panneau est d�sactiv�.

Si l'�l�ment ne fait pas partie d'une sc�ne active, active d�terminera l'�tat du panneau lorsque la sc�ne deviendra active ou que l'�l�ment sera ajout� � la sc�ne : s'il est vrai, le panneau de l'�l�ment sera alors activ�, sinon l'�l�ment restera inactif ind�pendamment de l'�tat d'activation de la sc�ne.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi isPanel(), QGraphicsScene::setActivePanel() et QGraphicsScene::isActive().

void QGraphicsItem::setBoundingRegionGranularity ( qreal granularity )

Fixe la granularit� de la r�gion fronti�re � granularity, une valeur entre 0 et 1 (inclus). La valeur par d�faut est 0 (c'est-�-dire la granularit� la plus basse, pour laquelle la r�gion fronti�re correspond au rectangle fronti�re de l'�l�ment).

La granularit� est utilis�e par boundingRegion() pour calculer la pr�cision que doit avoir la r�gion fronti�re. La granularit� la plus �lev�e est 1, pour laquelle boundingRegion() renverra le contour le plus pr�cis possible en fonction du p�riph�rique (par exemple, pour un affichage de QGraphicsView, cela donne une r�gion pr�cise au pixel pr�s). La granularit� la plus basse est 0. La valeur de granularity d�crit le rapport entre la r�solution du p�riph�rique de rendu et la r�solution de la r�gion fronti�re (par exemple, une valeur de 0.25 correspond � une r�gion o� chaque unit� correspond � une unit� de 4 × 4 dans le p�riph�rique).

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi boundingRegionGranularity().

void QGraphicsItem::setCacheMode ( CacheMode mode, const QSize & logicalCacheSize = QSize() )

Fixe le mode de cache de l'�l�ment � mode.

L'argument optionnel logicalCacheSize est seulement utilis� par le mode ItemCoordinateCache et d�crit la r�solution du tampon de cache ; si logicalCacheSize est (100, 100), QGraphicsItem fera rentrer l'�l�ment dans une zone de 100 × 100 pixels en m�moire graphique, ind�pendamment de la taille logique de l'�l�ment lui-m�me. Par d�faut QGraphicsItem utilise la taille de boundingRect(). Pour tous les modes de cache autres que ItemCoordinateCache, logicalCacheSize est ignor�e.

La mise en cache peut acc�l�rer le rendu si vos �l�ment passent un temps significatif � se redessiner. Dans certains cas le cache peut aussi ralentir le rendu, en particulier si l'�l�ment met moins de temps � se redessiner que QGraphicsItem n'en met � redessiner depuis le cache. Si le cache est activ�, la fonction paint() sera appel�e une seule fois pour chaque update() ; pour les requ�tes de dessin suivantes, le dessin sera fait depuis le cache. Cette approche fonctionne particuli�rement bien avec QGLWidget, qui enregistre le cache sous forme de textures OpenGL.

Notez qu'il peut �tre n�cessaire d'ajuster la limitation de cache de QPixmapCache pour obtenir des performances optimales.

Vous pouvez en lire plus sur les diff�rents modes de cache dans la documentation de CacheMode.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi cacheMode(), CacheMode et QPixmapCache::setCacheLimit().

void QGraphicsItem::setCursor ( const QCursor & cursor )

D�finit cursor comme forme courante du pointeur de souris. Le pointeur de souris aura cette forme lorsqu'il sera au-dessus de l'�l�ment. Vous pouvez trouver un ensemble de formes utiles dans la liste de pointeurs pr�d�finis.

Un �l�ment �diteur peut utiliser un pointeur en forme de barre :

 item->setCursor(Qt::IBeamCursor);

Si aucun pointeur n'a �t� d�fini, le pointeur du parent est utilis�.

Voir aussi cursor(), hasCursor(), unsetCursor(), QWidget::cursor et QApplication::overrideCursor().

void QGraphicsItem::setData ( int key, const QVariant & value )

Affecte la valeur value � la donn�e personnalis�e de cl� key.

Les donn�es personnalis�es sont utiles pour le stockage de propri�t�s arbitraires dans les �l�ments. Qt n'utilise pas cette fonction pour stocker des donn�es ; elle est fournie uniquement pour les besoins de l'utilisateur.

Voir aussi data().

void QGraphicsItem::setEnabled ( bool enabled )

Si enabled est vrai, l'�l�ment est activ� ; sinon, il est d�sactiv�.

Les �l�ments d�sactiv�s sont visibles mais ne re�oivent aucun �v�nement et ne peuvent pas �tre s�lectionn�s ni recevoir le focus. Les �v�nements souris sont ignor�s ; ils ne sont pas propag�s sauf si l'�l�ment est aussi invisible ou qu'il n'accepte pas les �v�nements souris (voir acceptedMouseButtons()). Un �l�ment d�sactiv� ne peut pas « prendre » la souris et, en cons�quence, un �l�ment qui devient d�sactiv� alors qu'il a pris la souris va la rendre. De la m�me fa�on, un �l�ment d�sactiv� va perdre le focus s'il l'avait.

Les �l�ments d�sactiv�s sont traditionnellement dessin�s avec des couleurs gris�es (voir QPalette::Disabled).

Si vous d�sactivez un �l�ment parent, ses enfants seront �galement d�sactiv�s. Si vous activez un �l�ment parent, ses enfants seront activ�s, sauf si ils ont �t� explicitement activ�s (c'est-�-dire que si vous appelez setEnabled(false) sur un enfant, il ne sera pas r�activ� si vous d�sactivez le parent puis le r�activez).

Les �l�ments sont activ�s par d�faut.

Note : si vous installez un filtre d'�v�nements, vous pouvez toujours intercepter les �v�nements avant qu'ils ne soient transmis aux enfants ; ce m�canisme est ind�pendant de l'�tat d'activation.

Voir aussi isEnabled().

void QGraphicsItem::setFiltersChildEvents ( bool enabled )

Si enabled est vrai, cet �l�ment va filtrer tous les �v�nements de ses enfants (c'est-�-dire qu'il va recevoir � leur place les �v�nements destin�s � ses enfants) ; sinon, si enabled est faux, cet �l�ment ne g�rera que ses propres �v�nements. La valeur par d�faut est false.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi filtersChildEvents().

void QGraphicsItem::setFlag ( GraphicsItemFlag flag, bool enabled = true )

Si enabled est vrai, le drapeau flag est activ�; sinon, il est d�sactiv�.

Voir aussi flags() et setFlags().

void QGraphicsItem::setFlags ( GraphicsItemFlags flags )

Affecte la valeur flags aux drapeaux. Les drapeaux pr�sents dans flags sont activ�s ; les autres sont d�sactiv�s.

Si l'�l�ment a le focus et que flags n'active pas ItemIsFocusable, l'�l�ment va perdre le focus � la suite de l'appel de cette fonction. De m�me, si l'�l�ment �tait s�lectionn� et que flags n'active pas ItemIsSelectable, l'�l�ment sera automatiquement d�s�lectionn�.

Par d�faut, aucun drapeau n'est activ� (QGraphicsWidget active le drapeau ItemSendsGeometryChanges par d�faut pour suivre les changements de position).

Voir aussi flags() et setFlag().

void QGraphicsItem::setFocus ( Qt::FocusReason focusReason = Qt::OtherFocusReason )

Donne le focus � cet �l�ment pour les saisies au clavier. L'argument focusReason sera transmis � tous les �v�nements de focus g�n�r�s par cette fonction ; il est utilis� pour expliquer la raison pour laquelle le focus est re�u.

Seuls les �l�ments activ�s et ayant le drapeau ItemIsFocusable peuvent accepter le focus clavier.

Si cet �l�ment est invisible, inactif, ou non associ� � une sc�ne, il ne recevra pas imm�diatement le focus. Cependant, il sera enregistr� comme l'�l�ment pr�f�rentiel pour la prise de focus dans son arbre d'�l�ments, pour le cas o� il deviendrait plus tard visible.

Suite � l'appel de cette fonction, l'�l�ment recevra un �v�nement de prise de focus avec focusReason. Si un autre �l�ment avait le focus, cet �l�ment recevra un �v�nement de perte de focus indiquant qu'il a perdu le focus pour les saisies.

Voir aussi clearFocus(), hasFocus(), focusItem() et focusProxy().

void QGraphicsItem::setFocusProxy ( QGraphicsItem * item )

Affecte la valeur item au proxy de focus.

Si un �l�ment a un proxy de focus, le proxy de focus recevra le focus de saisie lorsque l'�l�ment recevra ce focus. L'�l�ment lui-m�me poss�dera toujours le focus (c'est-�-dire que hasFocus() renverra vrai) mais le le proxy de focus recevra les saisies au clavier.

Un proxy de focus peut lui-m�me avoir un proxy de focus et ainsi de suite. Dans ce cas, les saisies seront re�ues par le proxy de focus � l'extr�mit� de la cha�ne. Le proxy de focus item doit appartenir � la m�me sc�ne que l'�l�ment.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi focusProxy(), setFocus() et hasFocus().

void QGraphicsItem::setGraphicsEffect ( QGraphicsEffect * effect )

Installe effectcomme effet de l'�l�ment. Si un autre effet est d�j� install�, QGraphicsItem supprimera l'effet existant avant d'installer effect.

Si effect est install� sur un autre �l�ment, setGraphicsEffect() le retirera de cet autre �l�ment.

QGraphicsItem devient propri�taire de effect.

Note : cette fonction appliquera l'effet aussi sur les enfants de l'�l�ment.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi graphicsEffect().

void QGraphicsItem::setGroup ( QGraphicsItemGroup * group )

Ajoute cet �l�ment au groupe d'�l�ments group. Si group est 0, cet �l�ment est retir� du groupe auquel il appartient et ajout� comme enfant du parent du groupe pr�c�dent.

Voir aussi group() et QGraphicsScene::createItemGroup().

void QGraphicsItem::setInputMethodHints ( Qt::InputMethodHints hints )

Affecte la valeur hints aux indicateurs de m�thode de saisie de l'�l�ment.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi inputMethodHints(), inputMethodQuery() et QInputContext.

void QGraphicsItem::setOpacity ( qreal opacity )

Fixe l'opacit� locale de l'�l�ment, qui est entre 0.0 (transparent) et 1.0 (opaque). Cette valeur est combin�e avec les valeurs des parents et anc�tres dans effectiveOpacity().

Par d�faut, l'opacit� se propage de parent � enfant, donc si l'opacit� du parent est 0.5 et celle de l'enfant aussi de 0.5, l'opacit� effective de l'enfant sera de 0.25.

La propri�t� opacit� d�cide de l'�tat du QPainter pass� � la fonction paint(). Si l'�l�ment utilise le cache, c'est-�-dire ItemCoordinateCache ou DeviceCoordinateCache, la propri�t� effective sera appliqu�e au cache pendant le rendu.

Deux drapeaux affectent la fa�on dont l'opacit� de l'�l�ment est combin�e avec celle du parent : ItemIgnoresParentOpacity et ItemDoesntPropagateOpacityToChildren.

Cette fonction a �t� introduite dans Qt 4.5.

Voir aussi opacity() et effectiveOpacity().

void QGraphicsItem::setPanelModality ( PanelModality panelModality )

Affecte la valeur panelModality � la modalit� de cet �l�ment.

Un changement de modalit� sur un �l�ment visible prend effet imm�diatement.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi panelModality().

void QGraphicsItem::setParentItem ( QGraphicsItem * newParent )

Le parent de cet �l�ment devient newParent. Si cet �l�ment a d�j� un parent, il est d'abord retir� au parent pr�c�dent. Si newParent est 0, cet �l�ment devient un �l�ment de premier niveau.

Notez que ceci ajoute implicitement cet �l�ment graphique � la sc�ne du parent. Vous ne devez pas appeler add dans la sc�ne vous-m�me.

Appeler cette fonction sur un anc�tre de newParent produira un r�sultat ind�fini.

Voir aussi parentItem() et childItems().

void QGraphicsItem::setPos ( const QPointF & pos )

La position de l'�l�ment prend la valeur pos, cette valeur �tant exprim�e en coordonn�es du parent. Pour les �l�ments sans parent, pos est en coordonn�es de sc�ne.

La position de l'�l�ment est celle de son origine (coordonn�es locales (0, 0)) dans les coordonn�es du parent.

Voir aussi pos(), scenePos() et Le syst�me de coordonn�es de la vue graphique.

void QGraphicsItem::setPos ( qreal x, qreal y )

Il s'agit d'une fonction surcharg�e.

Cette fonction est �quivalente � l'appel de setPos(QPointF(x, y)).

void QGraphicsItem::setRotation ( qreal angle )

Effectue une rotation de la valeur angle dans le sens horaire, en degr�s, autour de l'axe Z. La valeur par d�faut est 0 (pas de rotation). Une valeur n�gative repr�sente une rotation dans le sens anti-horaire. Normalement l'angle de rotation est dans la plage (-360, 360) mais il est aussi possible d'affecter des valeurs en dehors de cette plage (par exemple une rotation de 370 degr�s est identique � une rotation de 10 degr�s).

La rotation s'effectue autour du point d'origine des transformations, qui est (0, 0) par d�faut. Vous pouvez s�lectionner une origine de transformation diff�rente en appelant setTransformOriginPoint().

La rotation est combin�e avec les scale(), transform() et transformations() de l'�l�ment pour les conversions du syst�me de coordonn�es de l'�l�ment vers celui du parent.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi rotation(), setTransformOriginPoint() et Transformations.

void QGraphicsItem::setScale ( qreal factor )

Fixe le facteur d'�chelle de l'�l�ment. Le facteur par d�faut est 1.0 (l'�l�ment n'est pas redimensionn�). Un facteur de 0.0 r�duit l'�l�ment � un point. Si vous donnez un facteur n�gatif, l'�l�ment sera tourn� de 180 degr�s.

L'�l�ment est redimensionn� � partir du point d'origine de transformation, qui est par d�faut (0, 0). Vous pouvez s�lectionner un point d'origine de transformation diff�rent en appelant setTransformOriginPoint().

Le facteur d'�chelle est combin� avec les rotation(), transform() et transformations() de l'�l�ment pour les conversions du syst�me de coordonn�es de l'�l�ment vers celui du parent.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi scale(), setTransformOriginPoint() et Transformations Example.

void QGraphicsItem::setSelected ( bool selected )

Si selected est vrai et que cet �l�ment est s�lectionnable, cet �l�ment est s�lectionn� ; sinon, il est d�s�lectionn�.

Si l'�l�ment fait partie d'un groupe, l'�tat de s�lection de tout le groupe est modifi� par l'appel de cette fonction, car l'�tat de s�lection des �l�ments d'un groupe est commun � tous ses �l�ments.

Seuls les �l�ments visibles, activ�s et s�lectionnables peuvent �tre s�lectionn�s. Si selected est vrai et que cet �l�ment est soit invisible, soit d�sactiv�, soit non-s�lectionnable, la fonction ne fait rien.

Par d�faut, les �l�ments ne peuvent pas �tre s�lectionn�s. Pour autoriser la s�lection, utilisez le drapeau ItemIsSelectable.

Cette fonction permet de facilement changer l'�tat de s�lection individuel d'un �l�ment. Cependant, une fa�on plus courante de s�lectionner des �l�ments est d'appeler QGraphicsScene::setSelectionArea(), qui appellera cette fonction pour tous les �l�ments visibles, activ�s et s�lectionnables � l'int�rieur d'une zone sp�cifi�e de la sc�ne.

Voir aussi isSelected() et QGraphicsScene::selectedItems().

void QGraphicsItem::setToolTip ( const QString & toolTip )

L'infobulle de l'�l�ment devient toolTip. Si toolTip est vide, l'infobulle est supprim�e.

Voir aussi toolTip() et QToolTip.

void QGraphicsItem::setTransform ( const QTransform & matrix, bool combine = false )

La matrice de transformation de l'�l�ment devient matrix.

Si combine est vrai, alors matrix est combin�e avec la matrice courante ; sinon, matrix remplace la matrice courante. combine est faux par d�faut.

Pour simplifier l'interaction avec les �l�ments utilisant une vue transform�e, QGraphicsItem fournit des fonctions mapTo... et mapFrom... qui peuvent faire la traduction entre les coordonn�es de l'�l�ment et celles de la sc�ne. Par exemple, vous pouvez appeler mapToScene() pour convertir depuis les coordonn�es de l'�l�ment vers les coordonn�es de sc�ne ou mapFromScene() pour convertir depuis les coordonn�es de sc�ne vers les coordonn�es de l'�l�ment.

La matrice de transformation est combin�e avec les rotation(), scale() et transformations() de l'�l�ment en une transformation combin�e qui convertit le syst�me de coordonn�es de l'�l�ment vers celui du parent.

Cette fonction a �t� introduite dans Qt 4.3.

Voir aussi transform(), setRotation(), setScale(), setTransformOriginPoint(), Le syst�me de coordonn�es de la vue graphique et Transformations.

void QGraphicsItem::setTransformOriginPoint ( const QPointF & origin )

Affecte la valeur origin au point d'origine de transformation, dans les coordonn�es de l'�l�ment.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi transformOriginPoint() et Transformations.

void QGraphicsItem::setTransformOriginPoint ( qreal x, qreal y )

Il s'agit d'une fonction surcharg�e.

Fixe le point d'origine de transformation en coordonn�es de l'�l�ment. Cet appel est �quivalent � l'appel de setTransformOriginPoint(QPointF(x, y)).

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setTransformOriginPoint() et Transformations.

void QGraphicsItem::setTransformations ( const QList<QGraphicsTransform *> & transformations )

Applique une liste de transformations graphiques (QGraphicsTransform) � cet �l�ment.

Si vous avez simplement besoin d'une rotation ou un redimensionnement, vous devez plut�t appeler setRotation() ou setScale(). Si vous voulez appliquer une transformation arbitraire, appelez setTransform().

QGraphicsTransform a pour but d'appliquer et de contr�ler une cha�ne d'op�rations de transformation sur un �l�ment. Elle est particuli�rement utile pour les animations, o� chaque op�ration de transformation doit �tre interpol�e ind�pendamment ou diff�remment.

Les transformations sont combin�es avec les rotation(), scale() et transform() de l'�l�ment pour les conversions du syst�me de coordonn�es de l'�l�ment vers celui du parent.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi transformations(), scale(), setTransformOriginPoint() et Transformations.

void QGraphicsItem::setVisible ( bool visible )

Si visible est vrai, l'�l�ment devient visible. Sinon, l'�l�ment devient invisible. Les �l�ments invisibles ne sont pas dessin�s et ne re�oivent pas d'�v�nements. En particulier, les �v�nements souris traversent les �l�ment invisibles et sont transmis aux �l�ments du dessous. Les �l�ments invisibles sont �galement non-s�lectionnables, ne peuvent pas recevoir le focus, et ne sont pas d�tect�s par les fonctions de localisation d'�l�ments de QGraphicsScene.

Si un �l�ment devient invisible alors qu'il a « pris » la souris (c'est-�-dire alors qu'il re�oit les �v�nements souris), il perdra automatiquement la souris et ne le r�cup�rera pas simplement en le rendant de nouveau visible ; il ne la reprendra que s'il re�oit un nouvel �v�nement de bouton appuy�.

De m�me, un �l�ment invisible ne peut pas recevoir le focus, donc si un �l�ment a le focus quand il devient invisible, il perdra le focus et ne le r�cup�rera pas automatiquement s'il devient de nouveau visible.

Si vous cachez le parent d'un �l�ment, tous ses enfants seront �galement cach�s. Si vous montrez un parent, ses enfants vont �tre visibles aussi, sauf s'ils ont �t� explicitement cach�s (c'est-�-dire que si vous appelez setVisible(false) sur un enfant, il ne redeviendra pas visible si son parent est rendu invisible puis visible).

Les �l�ment sont visibles par d�faut ; il est inutile d'appeler setVisible() sur un nouvel �l�ment.

Voir aussi isVisible(), show() et hide().

void QGraphicsItem::setX ( qreal x )

Affecte x � la coordonn�e x de la position de l'�l�ment - �quivalent � l'appel de setPos(x, y()).

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi x() et setPos().

void QGraphicsItem::setY ( qreal y )

Affecte y � la coordonn�e y de la position de l'�l�ment - �quivalent � l'appel de setPos(x(), y).

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi y(), x() et setPos().

void QGraphicsItem::setZValue ( qreal z )

Affecte z � la valeur Z de l'�l�ment. La valeur Z d�cide de l'ordre d'empilement des �l�ments voisins de m�me niveau (m�me parent ou sans parent). Un �l�ment de valeur Z �lev�e sera dessin� au dessus d'un �l�ment de m�me niveau ayant une valeur Z plus basse.

� valeur Z �gale, l'ordre d'insertion d�terminera l'ordre d'empilement.

La valeur Z n'affecte pas la taille de l'�l�ment.

La valeur Z par d�faut est 0.

Voir aussi zValeur(), Sorting, stackBefore() et ItemStacksBehindParent.

QPainterPath QGraphicsItem::shape () const [virtual]

Renvoie la forme de cet �l�ment sous forme d'un QPainterPath en coordonn�es locales. La forme a de nombreux usages, incluant la d�tection de collision, les tests d'atteinte et dans les fonctions QGraphicsScene::items().

L'impl�mentation par d�faut appelle boundingRect(), qui renvoie une simple forme rectangulaire, mais les classes d�riv�es peuvent r�impl�menter cette fonction pour renvoyer une forme plus pr�cise pour les �l�ments non-rectangulaires. Par exemple, un �l�ment rond peut renvoyer une forme elliptique pour am�liorer la d�tection de collision :

 QPainterPath RoundItem::shape() const
 {
     QPainterPath path;
     path.addEllipse(boundingRect());
     return path;
 }

La bordure d'une forme peut varier suivant la largeur et le style du pinceau utilis� pour le dessin. Si vous voulez utiliser cette bordure dans la forme de l'�l�ment, vous pouvez cr�er une forme � partir du trait gr�ce � QPainterPathStroker.

Cette fonction est appel�e par les impl�mentations par d�faut de contains() et collidesWithPath().

Voir aussi boundingRect(), contains(), prepareGeometryChange() et QPainterPathStroker.

void QGraphicsItem::show ()

Affiche l'�l�ment (les �l�ments sont visibles par d�faut).

Cette fonction est �quivalente � l'appel de setVisible(true).

Voir aussi hide() et setVisible().

void QGraphicsItem::stackBefore ( const QGraphicsItem * sibling )

Empile cet �l�ment au-dessus de sibling, qui doit �tre un �l�ment de m�me niveau (c'est-�-dire que les deux �l�ments doivent avoir le m�me parent ou aucun des deux ne doit avoir de parent). sibling doit avoir la m�me valeur Z que cet �l�ment, sinon l'appel de cette fonction n'aura pas d'effet.

Par d�faut, les �l�ments de m�me niveau sont empil�s par ordre d'insertion (c'est-�-dire que le premier �l�ment ajout� est dessin� avant un �l�ment ajout� ensuite). Si les valeurs-Z de deux �l�ments sont diff�rentes, l'�l�ment avec la valeur Z la plus grande est dessin� au dessus. � valeur Z �gale, l'ordre d'insertion d�terminera l'ordre d'empilement.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setZValue(), ItemStacksBehindParent et Sorting.

QGraphicsObject * QGraphicsItem::toGraphicsObject ()

Renvoie le QGraphicsItem converti en QGraphicsObject si sa classe est r�ellement QGraphicsObject, 0 sinon.

Cette fonction a �t� introduite dans Qt 4.6.

const QGraphicsObject * QGraphicsItem::toGraphicsObject () const

Renvoie le QGraphicsItem converti en QGraphicsObject si sa classe est r�ellement QGraphicsObject, 0 sinon.

Cette fonction a �t� introduite dans Qt 4.6.

QString QGraphicsItem::toolTip () const

Renvoie l'infobulle de l'�l�ment ou un QString vide si aucune infobulle n'a �t� d�finie.

Voir aussi setToolTip() et QToolTip.

QGraphicsItem * QGraphicsItem::topLevelItem () const

Renvoie l'�l�ment de premier niveau de cet �l�ment. L'�l�ment de premier niveau est l'anc�tre de l'�l�ment dont le parent est 0. Si un �l�ment n'a pas de parent, il renvoie un pointeur vers lui-m�me (c'est-�-dire qu'un �l�ment de premier niveau est son propre �l�ment de premier niveau).

Voir aussi parentItem().

QGraphicsWidget * QGraphicsItem::topLevelWidget () const

Renvoie le widget de premier niveau de cet �l�ment (c'est-�-dire l'anc�tre de l'�l�ment dont le parent est 0 ou le parent n'est pas un widget) ou 0 si l'�l�ment n'a pas de widget de premier niveau. Si l'�l�ment est son propre widget de premier niveau, il renvoie un pointeur vers lui-m�me.

Cette fonction a �t� introduite dans Qt 4.4.

QTransform QGraphicsItem::transform () const

Renvoie la matrice de transformation de cet �l�ment.

La matrice de transformation est combin�e avec les rotation(), scale() et transformations() pour former la transformation effective de l'�l�ment.

La matrice de transformation par d�faut est une matrice identit�.

Cette fonction a �t� introduite dans Qt 4.3.

Voir aussi setTransform() et sceneTransform().

QPointF QGraphicsItem::transformOriginPoint () const

Renvoie le point d'origine de transformation dans les coordonn�es de l'�l�ment.

La valeur par d�faut est QPointF(0,0).

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setTransformOriginPoint() et Transformations.

QList<QGraphicsTransform *> QGraphicsItem::transformations () const

Renvoie une liste de transformations graphiques s'appliquant actuellement � l'�l�ment.

QGraphicsTransform a pour but d'appliquer et de contr�ler une cha�ne d'op�rations de transformation sur un �l�ment. Elle est particuli�rement utile pour les animations, o� chaque op�ration de transformation doit �tre interpol�e ind�pendamment ou diff�remment.

Les transformations sont combin�es avec les rotation(), scale() et transform() de l'�l�ment pour les conversions du syst�me de coordonn�es de l'�l�ment vers celui du parent.

Cette fonction a �t� introduite dans Qt 4.6.

Voir aussi setTransformations(), scale(), rotation(), transformOriginPoint() et Transformations.

int QGraphicsItem::type () const [virtual]

Renvoie le type de l'�l�ment sous forme d'un entier. Toutes les classes standard d�riv�es de QGraphicsItem sont associ�es � une valeur unique ; voir QGraphicsItem::Type. Cette information de type est utilis�e par qgraphicsitem_cast() pour diff�rencier les types.

L'impl�mentation par d�faut (dans QGraphicsItem) renvoie UserType.

Pour permettre l'utilisation de qgraphicsitem_cast() avec un �l�ment personnalis�, r�impl�mentez cette fonction et d�clarez une valeur de Type �gale � la valeur de type de votre �l�ment. Les �l�ments personnalis�s doivent renvoyer une valeur sup�rieure ou �gale � UserType (65536).

Par exemple :

 class CustomItem : public QGraphicsItem
 {
    ...
    enum { Type = UserType + 1 };
 
    int type() const
    {
        // Enable the use of qgraphicsitem_cast avec this item.
        return Type;
    }
    ...
 };

Voir aussi UserType.

void QGraphicsItem::ungrabKeyboard ()

L'�l�ment abandonne les entr�es clavier.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi grabKeyboard() et ungrabMouse().

void QGraphicsItem::ungrabMouse ()

L'�l�ment abandonne la r�ception des �v�nements souris.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi grabMouse() et ungrabKeyboard().

void QGraphicsItem::unsetCursor ()

R�initialise le pointeur de cet �l�ment.

Voir aussi hasCursor() et setCursor().

void QGraphicsItem::update ( const QRectF & rect = QRectF() )

Envoie une demande de mise � jour de la zone de l'�l�ment couverte par rect. Vous pouvez appeler cette fonction � chaque fois que votre �l�ment doit �tre redessin�, par exemple s'il change d'apparence ou de taille.

Cette fonction ne provoque pas de dessin imm�diat ; elle enregistre une demande de dessin qui sera trait�e par QGraphicsView lorsque la boucle d'�v�nements aura repris la main. L'�l�ment sera seulement redessin� s'il est visible dans une vue associ�e.

Un effet secondaire du fait que l'�l�ment soit redessin� est que d'autres �l�ments ayant une partie commune avec la zone rect devront �ventuellement aussi �tre redessin�s.

Si l'�l�ment est invisible (c'est-�-dire que isVisible() renvoie faux), cette fonction ne fait rien.

Voir aussi paint() et boundingRect().

void QGraphicsItem::update ( qreal x, qreal y, qreal width, qreal height )

Il s'agit d'une fonction surcharg�e.

Cette fonction est �quivalente � l'appel de update(QRectF(x, y, width, height)).

void QGraphicsItem::updateMicroFocus () [protected]

Met � jour le micro-focus de l'�l�ment.

Cette fonction a �t� introduite dans Qt 4.7.

Voir aussi QInputContext.

void QGraphicsItem::wheelEvent ( QGraphicsSceneWheelEvent * event ) [virtual protected]

Ce gestionnaire d'�v�nements, pour l'�v�nement event, peut �tre r�impl�ment� pour recevoir les �v�nements de molette de souris pour cet �l�ment. Si vous r�impl�mentez cette fonction, event sera accept� par d�faut.

Si vous ignorez l'�v�nement (en appelant QEvent::ignore()), event se propagera aux �l�ments du dessous. Si aucun �l�ment n'accepte l'�v�nement, il sera ignor� par la sc�ne et se propagera � la vue (par exemple la barre de d�filement verticale de la vue).

L'impl�mentation par d�faut ignore l'�v�nement.

Voir aussi sceneEvent().

QGraphicsWidget * QGraphicsItem::window () const

Renvoie la fen�tre de l'�l�ment ou 0 si cet �l�ment n'a pas de fen�tre. Si l'�l�ment est une fen�tre, il se renverra lui-m�me, sinon il renverra la fen�tre la plus proche parmi ses anc�tres.

Cette fonction a �t� introduite dans Qt 4.4.

Voir aussi QGraphicsWidget::isWindow().

qreal QGraphicsItem::x () const

Cette fonction est �quivalente � l'appel de pos().x().

Voir aussi setX() et y().

qreal QGraphicsItem::y () const

Cette fonction est �quivalente � l'appel de pos().y().

Voir aussi setY() et x().

qreal QGraphicsItem::zValue () const

Renvoie la valeur Z de l'�l�ment. La valeur Z d�cide de l'ordre d'empilement des �l�ments voisins de m�me niveau (m�me parent ou sans parent).

La valeur Z par d�faut est 0.

Voir aussi setZValeur(), Sorting, stackBefore() et ItemStacksBehindParent.

Variables membres

const int QGraphicsItem::Type

La valeur de type renvoy�e par la fonction type() dans les classes d'�l�ments graphiques standard de Qt. Toutes ces classes d'�l�ments graphiques standard de Qt sont associ�es � une valeur unique de Type, par exemple la valeur renvoy�e par QGraphicsPathItem::type() est 2.

 class QGraphicsPathItem : public QAbstractGraphicsShapeItem
 {
  public:
   enum { Type = 2 };
     int type() const { return Type; }
   ...
 };

const int QGraphicsItem::UserType

La plus petite valeur de type autoris�e pour les classes d'�l�ments personnalis�s (classes d�riv�es de QGraphicsItem ou d'autres classes d'�l�ments standard). Cette valeur est utilis�e en conjonction avec une r�impl�mentation de QGraphicsItem::type() et la d�claration d'une valeur d'�num�ration Type. Exemple :

 class CustomItem : public QGraphicsItem
 {
    ...
    enum { Type = UserType + 1 };
 
    int type() const
    {
        // Enable the use of qgraphicsitem_cast with this item.
        return Type;
    }
    ...
 };

Note : UserType vaut 65536.

Non-membres

T qgraphicsitem_cast ( QGraphicsItem * item )

Renvoie item converti vers le type T si item est de type T ; sinon, renvoie 0.

Note : pour que cette fonction traite correctement les �l�ments personnalis�s, r�impl�mentez la fonction type() pour chaque classe d�riv�e de QGraphicsItem.

Cette fonction a �t� introduite dans Qt 4.2.

Voir aussi QGraphicsItem::type() et QGraphicsItem::UserType.

Remerciements

Merci � Ilya Diallo pour la traduction et � Thibaut Cuvelier, Jonathan Courtois 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 !