Bonjour,
Je me lance pour la première fois dans la conception d'un petit logiciel de dessin industriel ! Actuellement, j'en suis à l'étape où je souhaite tracer une ligne avec la souris.
Voici ce que je souhaite faire :
- Lors d'un premier clic, j'accroche la ligne à l'emplacement de la souris
- j'étire la ligne jusqu'à un point de mon choix
- je clic une seconde fois pour terminer la ligne.
J'utilise une classe principale nommé "Dessin" qui hérite de QWidget, une qui hérite de QGraphicsView, une de QGraphicsScene et une de QGraphicsLineItem (pour la ligne à tracer).
Le problème c'est que je ne sais pas du tout comment m'y prendre pour arriver au résultat souhaité !!!
voici ma classe pour la ligne :
Cette classe vous parait-elle correct ?
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
26
27
28 #include "ligne.h" Ligne::Ligne(QGraphicsItem *parent) : QGraphicsLineItem(parent) { acceptHoverEvents(); setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); m_pen.setWidth(1); m_pen.setColor(Qt::white); setPen(m_pen); } Ligne::Ligne(qreal x1, qreal y1, qreal x2, qreal y2, QGraphicsItem *parent) { acceptHoverEvents(); setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable); m_pen.setWidth(1); m_pen.setColor(Qt::white); setPen(m_pen); QGraphicsLineItem::QGraphicsLineItem(x1,y1,x2,y2,parent,0); } Ligne::~Ligne() { }
Pourriez-vous me donner une piste ? Merci par avance !!!
Partager