Bonjour.
Sur un bouton où est écrit "voir", je dois ouvrir une nouvelle fenêtre qui doit m'afficher une image (pour ça, je dois me servir de la classe QPixmap).
Je pense que ma réponse ce trouve dans ce code, mais je n'arrive pas à le retranscrire comme il faut en python:
J'ai créer ma fonction viewPic qui doit faire cela:
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 #include <QApplication> #include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget fenetre; QPushButton *bouton = new QPushButton("Ouvrir la fenêtre", &fenetre); QDialog secondeFenetre (&fenetre); QVBoxLayout *layout = new QVBoxLayout; QLabel *image = new QLabel(&secondeFenetre); image->setPixmap(QPixmap("icone.png")); layout->addWidget(image); secondeFenetre.setLayout(layout); QWidget::connect(bouton, SIGNAL(clicked()), &secondeFenetre, SLOT(exec())); fenetre.show(); return app.exec(); }
Lors de l'exécution du programme, l'adresse de mon image est correcte, mais j'obtiens cette erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 def viewPic(self) : from PyQt4.QtGui import QWidget,QVBoxLayout,QLabel,QPixmap mafenetre=QWidget adresseImage = self.cheminLabel.text() print "chemin label = ",adresseImage layout=QVBoxLayout image=QLabel() image.setPixmap(QPixmap(str(adresseImage))) layout.addWidget(image) mafenetre.setLayout(layout) mafenetre.show()
Que dois-je faire pour y remédier?layout.addWidget(image)
TypeError: first argument of unbound method QBoxLayout.addWidget() must be a QBoxLayout instance
Merci
Partager