2014-09-10 2 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(); 
} 

Мои сообщения об ошибках. У меня много googled и прочитал документацию:

ошибка: нет соответствующей функции для вызова «QNetworkAccessManager :: QNetworkAccessManager (Networking * const)» man = new QNetworkAccessManager (this); ^

20: ошибка: нет функции соответствия для вызова 'QObject :: не подключить (QNetworkAccessManager * &, Const символ *, Networking * Const, Const символ *)' QObject :: подключить (мужчина, SIGNAL (законченный (QNetworkReply )), это, SLOT (replyFinished (QNetworkReply))); ^

ответ

1

Добавить Q_OBJECT макрос в класс без ;

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

И перестраивать весь проект

Без этого макроса moc не может найти свой класс, и вы не можете использовать сигналы/механизм слотов. Также ваш класс должен быть выведен из QObject явно или неявно.

+0

Спасибо за ответ. Я все еще получаю эти сообщения об ошибках –

+0

@ Huy-N см. Мои править пожалуйста – Chernobyl

+0

Большое вам спасибо. –