Dessin Widget et QMainWindows
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:
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() |