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: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:
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