QGraphicsTransformLa classe QGraphicsTransform est une classe abstraite destin�e � la construction de transformations avanc�es sur des QGraphicsItem. Plus d'informations... #include <QGraphicsTransform> Voir la position dans l'arbre des classes. H�ritageH�rite de QObject. H�rit� par QGraphicsRotation and QGraphicsScale. Cette classe a �t� introduite dans Qt 4.6. Description d�taill�eLa classe QGraphicsTransform est une classe abstraite destin�e � la construction de transformations avanc�es sur des QGraphicsItem. En tant qu'alternative � QGraphicsItem::transform, QGraphicsTransform vous permet de cr�er et de contr�ler des transformations avanc�es pouvant �tre configur�es ind�pendamment en utilisant des propri�t�s sp�cialis�es. QGraphicsItem vous autorise � associer plusieurs instances de QGraphicsTransform � un QGraphicsItem. Chaque QGraphicsTransform est appliqu�e dans l'ordre, une par une, au QGraphicsItem � laquelle elle est associ�e. QGraphicsTransform est particuli�rement utile pour les animations. Comme QGraphicsItem::setTransform() vous fait affecter les transformations directement aux �l�ments, elle ne donne pas de moyen direct d'interpolation entre deux transformations diff�rentes (par exemple, pour une transition entre deux �tats, pour chacun desquels l'�l�ment a une transformation distincte affect�e). En utilisant QGraphicsTransform, vous pouvez interpoler ind�pendamment les valeurs de propri�t� de chaque transformation. L'op�ration r�sultante est alors combin�e dans une transformation unique qui est appliqu�e � QGraphicsItem. Les transformations sont d'abord calcul�es dans un espace 3D en utilisant QMatrix4x4. Lorsque la transformation est appliqu�e � un QGraphicsItem, elle est ensuite projet�e sur une QTransform 2D. Quand plusieurs objets QGraphicsTransform sont appliqu�s � un QGraphicsItem, toutes les transformations sont calcul�es dans un espace 3D, la projection en 2D �tant effectu�e seulement apr�s l'application de la derni�re QGraphicsTransform. L'exception est QGraphicsRotation, qui est projet�e en 2D apr�s chaque rotation pour pr�server l'effet de perspective autour des axes X et Y. Si vous voulez cr�er votre propre transformation configurable, vous pouvez cr�er une classe d�riv�e de QGraphicsTransform (ou d'une classe d�riv�e d�j� existante) et r�impl�menter la fonction virtuelle pure applyTo(), qui prend comme param�tre un pointeur vers une QMatrix4x4. Chaque op�ration que vous voulez appliquer doit �tre expos�e sous forme de propri�t�s (par exemple, customTransform->setVerticalShear(2.5)). Dans votre r�impl�mentation de applyTo(), vous pouvez modifier la transformation fournie. QGraphicsTransform peut �tre utilis�e en m�me temps que QGraphicsItem::setTransform(), QGraphicsItem::setRotation() et QGraphicsItem::setScale(). Voir aussi QGraphicsItem::transform(), QGraphicsScale et QGraphicsRotation. Fonctions membresQGraphicsTransform::QGraphicsTransform ( QObject * parent = 0 )Construit un nouveau QGraphicsTransform avec le parent donn�. QGraphicsTransform::~QGraphicsTransform ()D�truit l'objet. void QGraphicsTransform::applyTo ( QMatrix4x4 * matrix ) const [pure virtual]Cette m�thode virtuelle pure doit �tre r�impl�ment�e dans les classes d�riv�es. Elle applique cette transformation � matrix. Voir aussi QGraphicsItem::transform() et QMatrix4x4::toTransform(). void QGraphicsTransform::update () [protected slot]Pr�vient que cette op�ration de transformation a modifi� ses param�tres et qu'en cons�quence applyTo() renverra un r�sultat diff�rent. Si vous impl�mentez vos propres transformations graphiques, vous devez appeler cette fonction � chaque fois que vous modifiez un param�tre, pour que QGraphicsItem sache que sa transformation doit �tre mise � jour. Voir aussi applyTo(). RemerciementsMerci � Ilya Diallo pour la traduction et � Dimitry Ernot ainsi qu'� Jacques Thery pour leur relecture ! |
Publicit�
Best Of |