Bonjour,
Dans le cadre d'un projet universitaire, je dois réaliser, notamment, une interface graphique permettant de dessiner à la souris, avant d'effectuer un traitement sur le dessin.
Je suis parvenu à utiliser un QWidget pour dessiner, mais le problème que j'ai est que le tracé n'est pas en continu, c'est-à-dire que les points que je trace ne sont pas contigus.
Est-ce que j'utilise la bonne classe, avec QWidget, ou bien n'est-ce pas la plus appropriée pour faire ce que je souhaite ?
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42 import sys, random from PyQt4 import QtGui, QtCore class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() self.pointsList = []#liste des points à tracer self.isDrawing = 0#variable de contrôle self.initUI() def initUI(self): self.setGeometry(300, 300, 280, 170) self.setWindowTitle('Points') self.show() def mousePressEvent(self, event): self.isDrawing = 1 self.pointsList = [] def mouseReleaseEvent(self, event): self.isDrawing = 0 def mouseMoveEvent(self, event): if self.isDrawing == 1: self.pointsList.append(event.pos())#on ajoute le point self.repaint()#on redessine def paintEvent(self, e): qp = QtGui.QPainter() qp.begin(self) for point in self.pointsList: qp.drawPoint(point) qp.end() def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
Que me conseillez-vous pour résoudre mon problème ?
Je précise que je suis débutant en Python et en PyQt.
Merci d'avance,
Jérémy
Partager