Problème d'affichage d'image avec PyQt
bonjour à toutes et à tous,
D'abord, désolé pour la longueur de ce post.
je suis débutant avec python et je voudrais créer une classe qui me permet d'afficher des images
et dans ma fenetre principale faire appel à cette classe autant de fois que je veux pour afficher mes images.
dans ma fenetre il y en a 8 images au total et je dois les afficher dans la fenetre en plein écran
et disposer 2 à 2 l'une tout à gauche et l'autre tout à droite
mais mon soucis est je n'y arrive pas avec ce 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
|
#!/usr/bin/python
# -*- coding: Utf-8 -*-
#les librairies :
import sys
from PyQt4 import QtGui, QtCore
#ma classe image
class MonImage(QtGui.QWidget):
def _init_(self,imgfile,posX,posY,ll,hh):
QtGui.QWidget.__init__(self)
self.objImage = QtGui.QImage(imgfile)
self.cadre = QtGui.QLabel(self)
self.cadre.setGeometry(posX,posY,ll,hh)
#pour afficher mes images
def AfficheImage(self,val):
self.cadre.setPixmap(QtGui.QPixmap.fromImage(self.objImage))
if val == True:
self.cadre.setVisible(True)
else :
self.cadre.setVisible(False)
# ma fenetre principale
class MainWindow(QtGui.QMainWindow):
def __init__(self,parent=None):
#creation de la fenetre
QtGui.QMainWindow.__init__(self,parent)
image1 = MonImage(self,"images/foto1.jpg",50,50,400,200)
image1.AfficheImage(True)
#creation d'un objet application
app=QtGui.QApplication(sys.argv)
#creation de la fenetre principale
main=MainWindow()
#affichage de la fenetre
main.showFullScreen()
#ferme l'application (équivalent au mainloop)
sys.exit(app.exec_()) |
l'erreur que cela me sort quand je compile est:
" TypeError : argument 2 of QWidget() has an invalid type"
et je ne sais pas comment le résoudre cela fait 2 heures que j'y suis mais je ne trouve rien.
Pour le code, je me suis basé des bouts de code que j'ai trouvé sur le net et j'ai un peu modifié.
Si vous pouvez faire quelquechose pour moi cela m'aiderait beaucoup.
merci d'avance.