Bonjour à tous,
Mon objectif est de me déplacer dans ma vue "view" à la façon Google Map avec la souris, c'est-à-dire que je clique avec le bouton gouche et le déplacement ensuite gère la translation de la vue.
Pour cela j'ai donc surchargé la fonction mouseMoveEvent dans ma classe dérivée de QGraphicsScene. Voici à quoi ressemble le code pour le moment :
J'ai mis en commentaire le bouton car je veux déjà voir si mon déplacement fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void mouseMoveEvent ( QGraphicsSceneMouseEvent * mouseEvent ) { //if(mouseEvent->buttons() == Qt::LeftButton) // Si le clic gauche est enfoncé //{ QGraphicsView *view = (this->views()).takeFirst(); int dx,dy; dx = (int)((mouseEvent->lastScreenPos()).x() - (mouseEvent->screenPos()).x()); dy = (int)((mouseEvent->lastScreenPos()).y() - (mouseEvent->screenPos()).y()); cout << dx << dy << endl; view->translate(dx,dy); //} }
Le résultat de cette fonction c'est une vibration de la vue, j'ai des valeurs négatives ou positives de dx ou dy mais la fonction translate n'a pas l'air de fonctionner, la vue tremble c'est tout...
Est-ce que j'applique mal le principe de la fonction translate ?
Merci d'avance
Partager