Bonjour,
J'utilise la bibliothèque PyQt pour réaliser une IHM.
Dans un exemple simple j'essaye d'afficher un dessin (généré grâce à QPainter) et deux boutons.
Le dessin est dans la classe plan, il est ensuite ajouter dans le classe conteneur qui est elle enfin affiché avec centralWidget.
Problème : le dessin ne s'affiche pas, les deux boutons eux s'affichent correctement.
Merci d'avance
Voici le code :
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 #!/usr/bin/python # -*- coding: utf-8 -*- import sys, random from PyQt4 import QtGui, QtCore class MainWindow(QtGui.QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.c=Conteneur() self.setCentralWidget(self.c) self.move(300,300) self.show() class Conteneur(QtGui.QWidget): def __init__(self): super(Conteneur, self).__init__() self.p=Plan() self.okButton = QtGui.QPushButton("OK") self.cancelButton = QtGui.QPushButton("Cancel") hbox = QtGui.QHBoxLayout() hbox.addStretch(1) hbox.addWidget(self.p) hbox.addWidget(self.okButton) hbox.addWidget(self.cancelButton) self.setLayout(hbox) class Plan(QtGui.QWidget): def __init__(self): super(Plan, self).__init__() def paintEvent(self, e): qp = QtGui.QPainter() qp.begin(self) self.drawPoints(qp) qp.end() def drawPoints(self, qp): qp.setPen(QtCore.Qt.red) size = self.size() for i in range(1000): x = random.randint(1, size.width()-1) y = random.randint(1, size.height()-1) qp.drawPoint(x, y) def main(): app = QtGui.QApplication(sys.argv) ex = MainWindow() sys.exit(app.exec_()) if __name__ == '__main__': main()
Partager