Qt-Signal-Slot: Signal gesendet wird, aber Slot ist nicht genannt

Bin ich mit Qt in Visual Studio 2013 C++. Ich versuche, schließen Sie ein signal an einen slot. Das problem ist, dass das signal gesendet wird, aber die slot-Funktion wird nie aufgerufen und ich weiß nicht, was passiert ist. Dieser code war die Arbeit früher, aber nachdem ich die Migration der code von Visual Studio 2012 in 32-bit-Visual Studio 2013 in 64-bit und einige änderungen vorgenommen, es nicht mehr funktioniert. Es druckt das debug-Anweisungen: bevor Sie senden, Bild gesendet und angeschlossen aber es funktioniert nicht, drucken Sie empfangene Bild. Kann mir bitte jemand helfen?

Streamer.h

signals:
    //Signal to output frame to be displayed
    void processedImageStream(const vector<QImage> &imgs, const QImage &image2, const QImage &image3, const QImage &image4);

Streamer.cpp in der run () - Funktion

qDebug() << "before sending";
emit processedImageStream(imgs,imgIntel, imgIntelDepth, imgIntelIR);
qDebug() << "images sent!";

MainWindow.h

private slots:
    //Display video frame in streamer UI
    void updateStreamerUI(const vector<QImage> &imgs, const QImage &imgIntel, const QImage &imgIntelDepth, const QImage &imgIntelIR);
private:
    Streamer* myStreamer;

MainWindow.cpp

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
    //Streamer initialization
    myStreamer = new Streamer();
    QObject::connect(myStreamer, SIGNAL(processedImageStream(vector<QImage>, QImage, QImage, QImage)), this, SLOT(updateStreamerUI(vector<QImage>, QImage, QImage, QImage)));
    qDebug() << "connected";
    ui.setupUi(this);
}

//slot for when new images are sent from the Streamer class
void MainWindow::updateStreamerUI(const vector<QImage> &imgs, const QImage &imgIntel, const QImage &imgIntelDepth, const QImage &imgIntelIR) {
    qDebug() << "images received!";
    //rest of the code
}
  • Was ist der return-Wert von QObject::connect()?
  • Der Rückgabewert ist wahr, also muss es verbunden sein
InformationsquelleAutor user3838815 | 2014-09-10
Schreibe einen Kommentar