Bonjour,

je code une fenetre QMainWindow avec un QTableView dans lequel s'affiche un Modele dérivé de QSqlQueryModel.

Pour garder la main sur l'interface, je fais exécuter la requete dans un QThread à part. La requête est transmise par un signal au QThread.

Quand le QThread finit son travail il envoie un pointeur du Modele vers ma fenetre et donc mon tableau grâce à un signal.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
connect(p_thread2, &ThreadRequete::signalModeleOK, this, &FenType1::setModeleTableau);

Tout marche bien en mode DEBUG, mais en RELEASE j'ai un message et mon tableau ne se remplit pas :
QObject::connect: signal not found in ThreadRequete

voici mon QThread :
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
 
class ThreadRequete : public QThread
{
    Q_OBJECT
    QString _result;
    QString _requete;
    ModeleType1 *p_modeleTableau;
    QSqlDatabase _conBddActive;
public:
    explicit ThreadRequete(QSqlDatabase db, QWidget *p_parent = nullptr);
    virtual ~ThreadRequete() override;
    virtual void run() override;
    void setRequete(QString s) {_requete=s;}
    void setModeleTableau(ModeleType1 *md) {p_modeleTableau=md;}
signals:
    void resultReady(const QString &s);
    void finTache();
    void signalModeleOK(ModeleType1 *p_qsqlqm);
public slots:
    void requeter(QString requete);
};


Je ne comprends pas pourquoi ... Est ce que vous auriez des pistes?

Merci