Problème d'accès à une ressource visuelle
Hello
J'ai le code suivant :
Code:
1 2 3 4 5 6 7 8 9
| QtWinMain::QtWinMain(QString pFicRsc, QString pNomUtilisateur)
{
mCheckVal = new CheckDispo(); (qui est un Qthread)
mCheckVal->setParent(this);
mCheckVal->SetIdEleve(mIdEleve);
connect( mCheckVal, SIGNAL(DisplayMessage(QString)), this, SLOT(DisplayMessageCptSlot(QString)), Qt::DirectConnection ) ;
connect( mCheckVal, SIGNAL(HideMessage()), this, SLOT(HideMessageCptSlot()), Qt::DirectConnection ) ;
mCheckVal->start();
} |
ça marche bien. Mon thread se créé et declenche bien mon slot DisplayMessageCptSlot
cette méthode est la suivante :
Code:
1 2 3 4 5 6
| void QtWinMain::DisplayMessageCptSlot( QString aMessage )
{
//wChaMsgLabel->moveToThread(mCheckVal);
wChaMsgLabel->setText( aMessage ) ;
wChaMsgLabel->show() ;
} |
où wChaMsgLabel est un QLabel de mon QtWinMain.
et la ... j'ai un message étrange :
Citation:
ASSERT failure in QCoreApplication:: sendevent "Cannot send events to objects owne by a different thread."
Et effectivement quand je debug je me rends compte que lors du traitement de DisplayMessageCptSlot je ne suis pas dans mon thread principale.
Une petite idée de pourquoi j'en suis la ?