无法在Android中发出信号

时间:2015-04-20 07:48:07

标签: android qt

我的项目中有这个信号;

void sendImage(cv::Mat &imgMat, QImage &imgQImage);

项目在Mingw和Visual Studio上编译但是当我尝试为Android构建时,我得到“错误:没有匹配函数来调用imageReader :: sendImage(cv :: Mat&,QImage)”错误。

我在不同项目上测试了我的专业文件,尝试清理/运行qmake / clean / rebuild,从信号中删除cv :: Mat但没有任何效果。

可能是什么问题?

编辑;

#ifndef READERMANAGERQMLINTERFACE_H
#define READERMANAGERQMLINTERFACE_H

#include <QObject>
#include <QDebug>

#include "readermanager.h"
class ReaderManagerQMLInterface : public QObject
{
    Q_OBJECT
public:
    explicit ReaderManagerQMLInterface(QObject *parent = 0);
    ~ReaderManagerQMLInterface();

    readerManager rManager;

private:

signals:
    void reqIm();

public slots:
    void sendImage(QImage &imgQImage);
};

#endif // READERMANAGERQMLINTERFACE_H

的ImageReader;

#ifndef IMAGEREADER_H
#define IMAGEREADER_H

#include <QObject>
#include <QImage>
#include <QDebug>
#include <QThread>
#include <QDir>
#include <QFile>

#include <opencv/cv.h>
class imageReader : public QObject
    {
        Q_OBJECT
    public:
        explicit imageReader(QObject *parent = 0);
        ~imageReader();
        imgHelpers imHelpers;

    signals:
        void sendImage(QImage &imgQImage);
    public slots:
        void requestImage();
        void setFrame(int frameID);
        void loadImage(QString fileName);
    }

我发出这样的信号;(如果我的mat2Image函数导致了问题,我试过了)

void imageReader::requestImage()
{
    images.at(currentImageID).copyTo(this->currentImage);
    processImage(currentImage);
    emit sendImage(imHelpers.mat2Image(this->currentImage) );
  //emit sendImage(QImage("d:/test.bmp"));
}

1 个答案:

答案 0 :(得分:4)

我在bugreports.qt.io中打开了一个问题,看起来问题与Visual Studio有关。您可以在here中找到详细信息。

编辑:当我说&#34;问题与视觉工作室有关时#34;我的意思是&#34; Visual Studio引导我走向错误的方向&#34;,我的发射线应该首先给出编译错误,如gcc。