Bonjour à tous.

Je me trouve confronté à l'erreur suivante pour un auto-connect : No matching signal for on_choixRepertoire_triggered()

Voici le .h qui défini le slot :
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
 
#ifndef INITDB_H
#define INITDB_H
 
#include <QDialog>
#include <QLineEdit>
 
class initdb : public QDialog
{
 Q_OBJECT
public:
    initdb();
 
public slots:
    //void selectionnerRepertoire();
    void on_choixRepertoire_triggered();
 
private:
    QLineEdit *m_repStockage;
    QLineEdit *m_nomFichier;
};
 
#endif // INITDB_H
et son implémentation dans le .cpp
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
 
#include "initdb.h"
#include <QPushButton>
#include <...>
 
initdb::initdb()
{
    QMetaObject::connectSlotsByName(this);
...
 
    QToolButton *choixRepertoire = new QToolButton;
    choixRepertoire->setGeometry((QRect(290,60,25,19)));
    choixRepertoire->setText("...");
    //connect(choixRepertoire,SIGNAL(clicked(bool)),this, SLOT(selectionnerRepertoire()));
...
}
 
//void initdb::selectionnerRepertoire()
void initdb::on_choixRepertoire_triggered()
{
    m_repStockage->setText(QFileDialog::getExistingDirectory(this));
    qDebug() << m_repStockage->text() << m_nomFichier->text();
}
Si je comprends bien le message, le système ne trouverait pas le signal "triggered" correspondant.

Pourtant un QToolButton envoie bien ce signal : void QToolButton::triggered(QAction *action).

A noter que si j'active le slot "selectionnerRepertoire" à la place de l'auto-connect, tout fonctionne correctement.

Auriez-vous une piste pour expliquer ce problème, car évidemment, je préfère utiliser un auto-connect plutôt que rajouter une ligne de code supplémentaire... comme certainement beaucoup de programmeurs.