Bonsoir tout le monde,
J'essaie actuellement de dessiner des droites dans un QGraphicsView qui occupe la zone centrale de ma fenêtre principale. Un stockage des coordonnées des points cliqués par la souris sur la vue est effectué dans une liste ou vector de Points. Une ligne est alors dessinée entre le point de départ, avant dernier clic, et le point d'arrivé, dernier clic.
Seulement, bien qu'il soit possible de voir les coordonnées des points cliqués en sortie dans QCreator avec l'utilisation de qDebug(), cela ne correspond pas aux points de départ et d'arrivé de la ligne qui est dessinée.
Autrement dit, si je clique en haut à gauche de ma zone centrale, qDebug() me renvoit "0 : 1" pour x et y et si je clic ensuite en haut à droite, qDebug() donne "1200 : 1", alors que la ligne au final est bien dessinée horizontalement mais au milieu de la zone est pas du tout en haut (screen 1).
D'ailleurs, si je clique ensuite sur le point de départ de ma ligne dessinée, je n'ai pas "0 : 1" mais environ "2 : 390" ^^, donc en recliquant sur le point de départ de ma ligne, je ne redessinerais pas une ligne confondue à la première mais décalée dans les y (screen 2).
Voici deux screens présentant ce qui se passe. Pour information, je rappelle que la zone centrale est mon QGraphicsView personnalisé ou Vue, qui est associé à une scène héritant de QGraphicsScene et que ma fenêtre principale a pour dimension 1400 x 800 avec un dock de largeur 200 à gauche.
Je mets également un zip contenant mon projet pour que vous puissiez tester directement et ainsi mieux comprendre le problème !
Si vous avez des suggestions n'hésitez pas
Merci !
Partager