void ShowThread::run(){ ShowObject obj(myShowPara); obj.moveToThread(this); connect(this, SIGNAL(resetCamera(const int,const int)), &obj, SLOT(resetCamera(const int,const int)), Qt::BlockingQueuedConnection); connect(this, SIGNAL(dataArrived()), &obj, SLOT(dealShowVideo()), Qt::BlockingQueuedConnection); connect(this, SIGNAL(resetWinPara(const DisplayPara)), &obj, SLOT(resetDisPara(const DisplayPara)), Qt::BlockingQueuedConnection); exec(); }
SignalData::SignalData() { qDebug() << "SignalData ctor" << this; connect(&mSampler, SIGNAL(dataArrived()), SLOT(fetchSamples())); connect(&mSampler, SIGNAL(started()), this, SIGNAL(started())); connect(&mSampler, SIGNAL(finished()), this, SIGNAL(finished())); connect(&mSampler, SIGNAL(terminated()), this, SIGNAL(finished())); connect(&mSampler, SIGNAL(error(QString)), this, SIGNAL(error(QString))); const QMetaObject metaObject = Sample::staticMetaObject; const QMetaEnum metaEnum = metaObject.enumerator(metaObject.indexOfEnumerator("Marker")); for (int i = 0; i < metaEnum.keyCount(); i++) { mSamples.insert((Sample::Marker)metaEnum.value(i), QVector<Sample>()); mBoundingRects.insert((Sample::Marker)metaEnum.value(i), QRectF()); } }