QObject-Verbindung Funktion

Habe ich überprüft, andere ähnliche Fragen und versucht Ihre Lösungen, aber Sie arbeiten nicht für mich.

Ich bin im Grunde versucht, einen http-client, der macht nur post-Anfragen. Um dies zu tun, ich muss eine Verbindung QNetworkManager's fertig-signal, um einige callback-slot.

Hier ist mein code.

h-Datei:

...
public slots:
   void finishedSlot(QNetworkReply* reply);
private:
    QNetworkAccessManager *network_manager;
...

cpp-Datei:

...
Class1::Class1(){
    network_manager = new QNetworkAccessManager(this);
    QObject::connect(network_manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(finishedSlot(QNetworkReply *)));
}
...
void Class1::finishedSlot(QNetworkReply* reply)
{
    //some logic with reply
}
...

Wie Sie sehen können, der slot ist definitiv vorhanden, und es wird erklärt unter public slots in der header-Datei. Also ich habe keine Ahnung, warum dies geschieht. Ich habe bereits versucht zu reinigen, ausführen von qmake und neu erstellen.

Ist die Fehlermeldung:

"QObject::connect: No such slot QObject::finishedSlot(QNetworkReply
*)"

Irgendeine Idee?

  • Beachten Sie, dass der Fehler sagt QObject::finishedSlot. Das bedeutet, dass Qt nicht wissen, über Ihre Unterklasse. Das bedeutet, dass meta-Informationen über es war nicht generiert. Das bedeutet, dass moc war nicht auf Ihrer Klasse. Das bedeutet, dass Ihre Klasse fehlt die Q_OBJECT makro.
  • Sie dürfen nicht vergessen, geben Sie Ihre slot-Funktion (in der header-Datei) in den "slots" im
InformationsquelleAutor Charlemagne | 2013-11-10
Schreibe einen Kommentar