Bonjour à tous.
Je suis en train de bidouiller un widget openGL et j'aimerai pouvoir utiliser les touches directionnelles pour naviguer en 3D. La surcharge de "wheelEvent" ne m'a pas posé de problème, mais là, avec le clavier je n'y arrives pas.
Voilà à quoi cela ressemble :
(_cam est une classe perso représentant la camera, posAdd() permet d'incrémenter le QVector3D matérialisant la position de la caméra et les left(),right(),down(),up() sont des vecteurs unitaires pointant dans les directions associées).
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 void Viewer3D::keyPressEvent(QKeyEvent *event) { switch(event->key()) { case Qt::Key_Left: _cam.posAdd(_cam.left()); break; case Qt::Key_Right: _cam.posAdd(_cam.right()); break; case Qt::Key_Down: _cam.posAdd(_cam.down()); break; case Qt::Key_Up: _cam.posAdd(_cam.up()); break; } updateGL(); }
Quelle est l'origine du problème et comment le solutionner ?
Merci beaucoup
Partager