Bonjour à tous,
alors le problème d'aujourd'hui tourne autour des evènements![]()
En effet je n'ai pas très bien compris la liaison entre QMouseEvent et paintEvent.
Alors dans un premier temps,je declare une classe qui hérite de QWidget avec les fonctions suivantes :
Et donc lorsque j'appuie sur le bouton et que je le maintien il me fait une suite de point .Jusqu'ici tout vas bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 //fichier .h void paintEvent(QPaintEvent *qevent); void mouseMoveEvent(QMouseEvent *qevent);
Mais lorsque je rajoute un QMouseReleaseEvent , je ne sais plus comment faire appelle à paintEvent .
Et comme je doute sur la clarté de mon sujet voilà un bout de code
En résumé avec QMouseMoveEvent , je veux qu'il me dessine la suite des points , et Lorsque je relache le boutton,avec QMouseReleaseEvent, je veux qu'il lie le
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 //Fichier .cpp void imageTemps::paintEvent(QPaintEvent *qevent) { //Exemple tiré d'un tuto QPainter *p = new QPainter(this); p->drawPoints(m_points); } void imageTemps::mouseMoveEvent(QMouseEvent *qevent) { //Déja j'ai du mal à voir comment l'evenement de la souris //est lié à celui de paint !!!! m_points << qevent->pos(); update(); void imageTemps::mouseReleaseEvent(QMouseEvent *qevent) { lPoint = qevent->pos(); fPoint = m_points.first(); //Ce qui suit est une tentative qui mene à rien QPainter *p2 = new QPainter(this); p2->drawLine(lPoint,fPoint); update(); } }
1er et le dernier Boutton.(Pour avoir un truc fermé).
Merci pour toutes interventions
Partager