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
  • Вопрос задан
  • 1147 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
У вас слота quit() нет, и moc у вас не сработал, класс - это просто "заготовка" с мета-информацией, утилита meta-object compiler - это препроцессор, который должен реализовать все эти слоты и прочие "фичи" Qt, и полученный файл "положить" в директорию построения, точно так же, как он это делает для окон (QMainWindow) и диалогов (QDialog), после чего все это скомпилирует обычный компилятор, так что разбирайтесь с moc.

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

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

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

Войти через центр авторизации
Похожие вопросы