Project

General

Profile

Tâche #718

QGraphicsItem resizable

Added by ness522 over 10 years ago. Updated over 9 years ago.

Status:
Nouveau
Priority:
Bas
Assignee:
-
Category:
Gui
Target version:
-
Start date:
05/06/2010
Due date:
% Done:

0%

Estimated time:

Description

Avoir un QGraphicsItem de base duquel on peut hériter un item perso, cet item fournirait la possibilité de déplacer et de modifier la taille de l'item via des petites "poignées" placées aux 8 points cardinaux.

Voilà pour l'idée, si ça semble intéresser pour le projet QExtend et que ça n'existe pas encore (j'ai fait une recherche rapide sans succes), je proposerai quelques idées mieux développées.

History

#1 Updated by yan over 10 years ago

très très bonne idée.
Mais je verrai plus un manipulateur qui va manipuler n'importe quel item. Des
On sélectionne un item et le manipulateur ajoute des chose autour pour le modifier . Un comme ce que l'on trouve dans OpenInventor mais en 2D
http://doc.coin3d.org/Coin/classSoCenterballManip.html#_details
http://doc.coin3d.org/Coin/classSoClipPlaneManip.html#_details

#2 Updated by ness522 over 10 years ago

Merci, bonne idée le manipulateur, je n'y avais pas pensé de cette manière là.

Du coup voici à quoi je pense :

QGraphicsManipulator inherits QGraphicsItem // le manipulateur est également un item, donc il peut dessiner sur le scene
le constructeur prendrait un QGraphicsItem parent en argument, ce serait l'item manipulé. Le manipulateur en étant l'enfant, il sera détruit en même temps que l'item.

Par défaut, le manipulateur positionne les "poignées" en fonction du boundingRect de notre item parent, il serait également possible de fournir un QRect pour positionner autrement les poignées.

Lorsqu'on bouge les poignées, le manipulateur manipule l'item via les fonctions setTransform (scale or rotate) de l'item. (c'est là que je ne suis pas sûr du résultat :p). L'item pourra être averti des modifications via QGraphicsItem::GraphicsItemChange(...).

Voilà réflexion rapide, merci de me dire si je pars dans la mauvaise voie :)

#3 Updated by yan over 9 years ago

  • Priority changed from Normal to Bas

Also available in: Atom PDF