bonjours a tous
dans mon projet j'ai pour but de calculer la distance entre le 1er clic du bouton gauche de la souris et jusqu'à le bouton sera laché tout en traçant la ligne qui s'effacera dés que lâche le bouton.
le calcul et l'affichage se passe a la merveille mais mon problème est que la ligne se trace toujours a partir des centre et non a partir du point du clic!
voici le code minimal:
mygraphicsview.cpp
Remarque: j'utilise QRubberband pour la fonction zoom et qui a le même principe et ça marche bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 ... void MyGraphicsView::mousePressEvent(QMouseEvent* event) { P1 =event->pos(); if(event->button()==Qt::LeftButton) { line=new QGraphicsLineItem(QLineF(P1,P1)); scene()->addItem(line); } } void MyGraphicsView::mouseMoveEvent(QMouseEvent *event) { scene()->removeItem(line); line->setLine(QLineF(P1,event->pos())); scene()->addItem(line); } void MyGraphicsView::mouseReleaseEvent(QMouseEvent *event) { scene()->removeItem(line); line=NULL; }
tout parait a l'ordre mais je vois pas ou est le problème?
un peux d'aide svp
merci d'avance![]()
Partager