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:
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();
}
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
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()
Lors de l'exécution du programme, l'adresse de mon image est correcte, mais j'obtiens cette erreur:
layout.addWidget(image)
TypeError: first argument of unbound method QBoxLayout.addWidget() must be a QBoxLayout instance
Que dois-je faire pour y remédier?
Merci