Projet

Général

Profil

QGraphicsItems

Les QGraphicsItems

Les QGraphicsItems sont des objets (ellipses, polygones, images) à afficher dans des QGraphicsView.
On peut les ajouter soit à une QGraphicsScene, soit à une QGraphicsView avec la fonction "add".
Il y a des fonctions concernant la position, la taille, des options concernant le curseur, les bulles d'aide.

Dériver les QGraphicsItems

Pour faire ma classe boutonPolygone, je l'ai fait hériter de QGraphicsItem.
Au niveau des dimensions, on peut distinguer :
  • la dimension propre, que j'ai définie en donnant une valeur aux attributs mais on aurait pu utiliser "setGeometry".
  • la dimension de sensibilité, définie en surchargeant (en réécrivant, en fait) la méthode "boudingRect" de QGraphicsItem. C'est elle qui définit la zone "sensible", celle où on peut cliquer (voir après), celle où le curseur détecte qu'on est sur l'objet.
  • la dimension de traçage, définie en surchargeant la méthode "paint" de QGraphicsItem. Elle définit la zone du tracé si on en veut un. Car même si dans mon travail de stage (calcul mental) les boutons sont invisibles, j'ai besoin de temps en temps de les faire afficher en modifiant dans paint le "pen" (ne serait-ce que pour les placer au bon endroit !!)

Pour pouvoir cliquer, j'ai surchargé la méthode "mousePressEvent". Je commence - indispensable - par appeler la méthode de la classe mère, puis j'ajoute ce que je veux que le clic fasse.

Redmine Appliance - Powered by TurnKey Linux