Radzhab
@Radzhab

Ошибка: 'connect' was not declared in this scope?

Добавил один класс в проект. Выдает ошибку ошибка:

'connect' was not declared in this scope
^
Пытался добавить QObject::connect(...)- Результат тот же

Заголовочный файл

#include "httphelper.h"
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkReply>
#include <QEventLoop>

HttpHelper::HttpHelper()
{

}

void HttpHelper::GetHtml()
{
    QNetworkAccessManager manager;

    QNetworkRequest request(QUrl("http://qt-project.org"));
    request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);

    QNetworkReply *response = manager.get(request);

    QEventLoop event;
    connect(response,SIGNAL(finished()),&event,SLOT(quit()));
    event.exec();

    QString html = response->readAll(); // Source should be stored here
}

Вот его cpp-файл

#ifndef HTTPHELPER_H
#define HTTPHELPER_H
#include <QObject>


class HttpHelper{
    Q_OBJECT
public:
    explicit HttpHelper();
    void GetHtml();
};

#endif // HTTPHELPER_H
  • Вопрос задан
  • 1175 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
У вас слота quit() нет, и moc у вас не сработал, класс - это просто "заготовка" с мета-информацией, утилита meta-object compiler - это препроцессор, который должен реализовать все эти слоты и прочие "фичи" Qt, и полученный файл "положить" в директорию построения, точно так же, как он это делает для окон (QMainWindow) и диалогов (QDialog), после чего все это скомпилирует обычный компилятор, так что разбирайтесь с moc.

Пытался добавить QObject::connect(...)- Результат тот же

Что, тоже connect not declared, быть такого не может, другая ошибка уже.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы