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