The other method would be to get rid of the qualification in your connect and class definition. The SIGNAL and SLOT macros are triggering simply said a string matching. If you are using at one point the qualification and in the other not, it has to fail.
So the code should look more like:
@
connect(th,SIGNAL(MatUpdate(cv::Mat)),pct_frame,SLOT(update(cv::Mat)));
@
@
public slots:
void update(cv::Mat img);
@
@
signals:
void MatUpdate(cv::Mat it);
@
or the other possibility:
@
connect(th,SIGNAL(MatUpdate(Mat)),pct_frame,SLOT(update(Mat)));
@
@
public slots:
void update(Mat img);
@
@
signals:
void MatUpdate(Mat it);
@