这是我的档案。我对此有一些意见。
// 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();
}我的错误信息。我在谷歌上搜索了很多,并阅读了这些文档:
错误:没有调用
QNetworkAccessManager::QNetworkAccessManager(Networking* const)man = new QNetworkAccessManager(this)的匹配函数; 20:错误:没有调用QObject::connect(QNetworkAccessManager*&, const char*, Networking*const, const char*)QObject::connect(man, SIGNAL(finished(QNetworkReply *)), this,SLOT(replyFinished(QNetworkReply*)));的匹配函数
发布于 2014-09-10 12:15:27
将Q_OBJECT宏添加到没有;的类中
class Networking : public QObject
{
Q_OBJECT
public:
Networking();
void getNetReply();重建所有项目
没有这个宏,moc就找不到您的类,也不能使用信号/插槽机制。而且,您的类应该从QObject显式或隐式派生。
https://stackoverflow.com/questions/25765122
复制相似问题