Bonjour,

Le problème est dans le titre...
Voici mon code (J'ai créer une classe sur la base d'un QLabel qui emet un signal lorsque un bouton de souris est pressé):

le .h
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
class monLabel : public QLabel
{
    Q_OBJECT
    public:
        monLabel(QWidget * parent=0,Qt::WindowFlags f = 0);
        void setValue(const int var);
        int getValue();
    protected:
        void mousePressEvent(QMouseEvent);
    signals:
        void onClicked(const int var);
    private    :
        int m_var;
};
le .cpp
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
monLabel::monLabel(QWidget * parent,Qt::WindowFlags f) : QLabel(parent,f)
{
    m_var=-1;
}
 
void monLabel::mousePressEvent(QMouseEvent)
{
        emit onClicked(m_var);
}
 
void monLabel::setValue(const int var)
{
    m_var=var;
}
 
int monLabel::getValue()
{
    return m_var;
}
la suite du cpp
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
void FenPrincipale::ouvrirRep()
{        
     QDir directory = QFileDialog::getExistingDirectory(this, tr("Recherche de fichiers"), QDir::currentPath());        
        QString fileName = "*.jpg";
        QStringList files;
        files = directory.entryList(QStringList(fileName),QDir::Files | QDir::NoSymLinks);
           imageLabel = new monLabel[files.count()];
 
        scrollArea = new QScrollArea;
        scrollArea->setBackgroundRole(QPalette::Dark);
 
        QHBoxLayout *imageLayout = new QHBoxLayout;
 
 
        for (int i = 0; i < files.count(); ++i)
        {
            QImage image(directory.absoluteFilePath(files[i]));
            image=image.scaled(100,100, Qt::KeepAspectRatio,Qt::FastTransformation);
            imageLabel[i].setPixmap(QPixmap::fromImage(image));
            imageLabel[i].setValue(i);
            imageLayout->addWidget(&imageLabel[i]);
            connect(&imageLabel[i], SIGNAL(onClicked(int)), this, SLOT(afficheImageGrand(int)));
        }
 
        QGroupBox *groupImage = new QGroupBox("Groupe d'Images");
        groupImage->setLayout(imageLayout);
 
 
          scrollArea->setWidget(groupImage);
        scrollArea->setWidgetResizable(true);
 
        setCentralWidget(scrollArea);
 
        QHBoxLayout *imagesLayout = new QHBoxLayout;
 
        setLayout(imagesLayout);
}
 
void FenPrincipale::afficheImageGrand(const int i)
{
     QMessageBox::information(this, "test",QVariant(i).toString());
}
Seulement voilà, lorsque je clique sur une image, il ne se passe rien :-(
Avez vous une idée d'où peut venir mon erreur?
Merci d'avance