2014-09-10 51 views
0

這是我的文件。我遇到了一些問題。錯誤:沒有匹配函數調用'QNetworkAccessManager :: QNetworkAccessManager(Networking * const)'

// networking.h 

#ifndef NETWORKING_H 
#define NETWORKING_H 

#include <QNetworkReply> 

class Networking 
{ 
public: 
    Networking(); 
    void getNetReply(); 
    void replyFinished(QNetworkReply*); 
}; 

#endif // NETWORKING_H 




//networking.cpp 
#include "networking.h" 
#include <QtNetwork/QNetworkAccessManager> 
#include <QUrl> 
#include <QNetworkRequest> 
#include <QObject> 

Networking::Networking() 
{ 
} 

void Networking::getNetReply(){ 
    QNetworkAccessManager * man; 
    man = new QNetworkAccessManager(this); 
    qDebug() << "Getting content..." << endl; 

    QNetworkRequest request(QUrl("http://www.google.pl")); 
    qDebug() << "Network request..." << endl; 

    QNetworkReply * NetRepl; 
    QObject::connect(man, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished(QNetworkReply*))); 

    NetRepl = man->get(request); 
    qDebug() << "Network reply..." << endl; 

    qDebug() << "Connecting..." << endl; 

} 

void Networking::replyFinished(QNetworkReply* reply){ 
    // my code 
    reply->readAll(); 
} 

我的錯誤消息。我GOOGLE了很多,並閱讀文檔:

錯誤:沒有匹配函數調用'QNetworkAccessManager :: QNetworkAccessManager(Networking * const)' man = new QNetworkAccessManager(this); ^

20:錯誤:調用沒有匹配的函數 '的QObject ::連接(QNetworkAccessManager * &,爲const char *,網絡* const的,爲const char *)' 的QObject ::連接(男,SIGNAL(完(QNetworkReply )),this,SLOT(replyFinished(QNetworkReply))); ^

回答

1

添加Q_OBJECT宏您的課,而不會;

class Networking : public QObject 
{ 
Q_OBJECT 
public: 
    Networking(); 
    void getNetReply(); 

,重建所有項目

沒有將此宏moc無法找到你的類,你不能使用信號/槽機制。您的班級也應明確或隱含從QObject派生。

+0

感謝您的回答。我仍然收到這些錯誤信息 – 2014-09-10 12:23:27

+0

@ Huy-N請參閱我的編輯 – Chernobyl 2014-09-10 12:26:20

+0

非常感謝。 – 2014-09-10 12:30:23

相關問題