Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

Qt

Choisissez la catégorie, puis la rubrique :

Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QGraphicsItemGroup

La classe QGraphicsItemGroup fournit un conteneur traitant un groupe d'éléments comme un élément unique. Plus d'informations...

#include <QGraphicsItemGroup>

Voir la position dans l'arbre des classes.

Héritage

Hérite de QGraphicsItem.

Cette classe a été introduite dans Qt 4.2.

Description détaillée

La classe QGraphicsItemGroup fournit un conteneur traitant un groupe d'éléments comme un élément unique.

Un QGraphicsItemGroup est un type particulier d'élément composé qui traite ses enfants et lui-même comme un élément unique (c'est-à-dire que les événements et les géométries de tous les enfants sont fusionnés). Il est courant d'utiliser des groupes d'éléments dans les outils de présentation, lorsque l'utilisateur veut grouper plusieurs petits éléments en un élément plus gros pour simplifier les déplacements et les copies d'éléments.

Si vous voulez simplement intégrer des éléments dans d'autres éléments, vous pouvez utiliser directement un QGraphicsItem en passant le parent approprié à setParentItem().

La fonction boundingRect() de QGraphicsItemGroup renvoie le rectangle frontière pour l'ensemble des éléments du groupe. QGraphicsItemGroup ignore le drapeau ItemIgnoresTransformations de ses enfants (c'est-à-dire que, pour ce qui concerne la géométrie du groupe, les enfants sont considérés transformables).

Le groupe peut être construit de deux façons. La plus simple et la plus courante est de passer une liste d'éléments (par exemple, tous les éléments sélectionnés) à QGraphicsScene::createItemGroup(), qui renvoie un nouvel élément QGraphicsItemGroup. L'autre possibilité est de construire manuellement un élément QGraphicsItemGroup, l'ajouter à la scène en appelant QGraphicsScene::addItem() et d'ajouter des éléments au groupe manuellement, un par un, en appelant addToGroup(). Pour défaire (« dégrouper ») un groupe d'éléments, vous pouvez soit appeler QGraphicsScene::destroyItemGroup(), soit retirer manuellement tous les éléments du groupe en appelant removeFromGroup().

 // Grouper les éléments sélectionnés
 QGraphicsItemGroup *group = scene->createItemGroup(scene->selecteditems());
 
 // Dégroupage et destruction de l'élément groupe 
 scene->destroyItemGroup(group);

L'opération d'ajout et de retrait d'éléments préserve les positions et transformations relatives à la scène des éléments, contrairement à setParentItem(), qui conserve uniquement les transformations et les positions relatives au parent de l'élément enfant.

La fonction addtoGroup() donne ce groupe comme parent à l'élément ajouté, mais la position et la transformation de l'élément relatives à la scène resteront inchangées. Visuellement, cela signifie que les éléments ajoutés via addToGroup() resteront inchangés suite à cette opération, quelles que soient les positions et les transformations des éléments ou du groupe ; par contre, la position et la matrice de l'élément peuvent changer.

La fonction removeFromGroup() a une sémantique similaire à setParentItem() ; l'élément prendra comme parent le parent de ce groupe. Comme pour addToGroup(), la position et la transformation de l'élément relatives à la scène restent inchangées.

Voir aussi QGraphicsItem et le framework de la Vue Graphique.

Fonctions membres

QGraphicsItemGroup::QGraphicsItemGroup ( QGraphicsItem * parent = 0 )

Construit un QGraphicsItemGroup. parent est passé au constructeur de QGraphicsItem.

Voir aussi QGraphicsScene::addItem().

QGraphicsItemGroup::~QGraphicsItemGroup ()

Détruit le QGraphicsItemGroup.

void QGraphicsItemGroup::addToGroup ( QGraphicsItem * item )

Ajoute l'élément donné à ce groupe. Le groupe devient le parent de l'élément ajouté, mais la position et la transformation de l'élément relatives à la scène resteront inchangées.

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

QRectF QGraphicsItemGroup::boundingRect () const [virtual]

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

Renvoie le rectangle frontière de ce groupe et de ses enfants.

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

Réimplémentation de QGraphicsItem::isObscuredBy().

QPainterPath QGraphicsItemGroup::opaqueArea () const [virtual]

Réimplémentation de QGraphicsItem::opaqueArea().

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

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

void QGraphicsItemGroup::removeFromGroup ( QGraphicsItem * item )

Retire l'élément spécifié de ce groupe. L'élément prendra comme parent le parent de ce groupe ou 0 si ce groupe n'a pas de parent. Sa position et sa transformation relatives à la scène resteront inchangées.

Voir aussi addToGroup() et QGraphicsScene::destroyItemGroup().

int QGraphicsItemGroup::type () const [virtual]

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

Remerciements

Merci à Ilya Diallo pour la traduction et à Dimitry Ernot ainsi qu'à Jacques Thery pour leur relecture !

Warning: include(): https:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4 Warning: include(https://qt.developpez.com/index/rightColumn): failed to open stream: no suitable wrapper could be found in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4 Warning: include(): Failed opening 'https://qt.developpez.com/index/rightColumn' for inclusion (include_path='.:/usr/php53/lib/php') in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4
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 © 2020 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, 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 !
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -

Partenaire : Hébergement Web