Russian Qt Forum
Ноябрь 26, 2024, 16:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QT <QNetworkAccessManager> шибка ?  (Прочитано 4417 раз)
Денис
Гость
« : Октябрь 07, 2013, 19:25 »

Здраствуйте.

Проблемка, не могу найти библиотеки <QNetworkAccessManager> ...
Уже все перелазил, и так и не нашел ее, может кто-то ссылочку на нее дать Непонимающий

И если не сложно ссылочку на пример ее использования ... В сети смотрел !!!, все очень разрозненно и не рассортированно, какие-то куски вырезки, не совсем понятно. Хотя может быть когда я ее найду то все станет ясно )))

Нужно обратиться к сайту, считать один параметр страницу и распарсить ее ... Парсить буду сам бо страница выдает по запросу не html
Записан
Bepec
Гость
« Ответ #1 : Октябрь 07, 2013, 19:31 »

Берём устанавливаем Qt. Потом устанавливаем IDE - какую, решать тебе. Допустим QtCreator.
После чего спокойно пишем #include <QNetworkAccessManager> и все библиотеки находятся. Иногда бывает что-то плохое с путями, потому их надо прописать. Но все эти вопросы освещены на форуме, дерзайте.
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #2 : Октябрь 07, 2013, 19:32 »

Берём устанавливаем Qt. Потом устанавливаем IDE - какую, решать тебе. Допустим QtCreator.
После чего спокойно пишем #include <QNetworkAccessManager> и все библиотеки находятся. Иногда бывает что-то плохое с путями, потому их надо прописать. Но все эти вопросы освещены на форуме, дерзайте.
Не забывая в pro файле добавить модуль network.
Записан
Денис
Гость
« Ответ #3 : Октябрь 07, 2013, 22:38 »

Разобрался как подключить, но при создонии класса возникли проблемы:

Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "network.h"

Network::Network(QString urlString)
{
    url = QUrl(urlString);
    manager = new QNetworkAccessManager(this);
}

void Network::getReply() {
    QEventLoop loop;
    reply = manager->get(QNetworkRequest(url));
    connect(reply, SIGNAL(finished()), this, SLOT(downloadFinished()));
    connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
    loop.exec();
}

void Network::downloadFinished(){
    QByteArray webContent = reply->readAll();
}

ошибка: undefined reference to `vtable for Network'
ошибка: undefined reference to `_imp___ZN21QNetworkAccessManagerC1EP7QObject'
ошибка: undefined reference to `_imp___ZN15QNetworkRequestC1ERK4QUrl'
ошибка: undefined reference to `_imp___ZN21QNetworkAccessManager3getERK15QNetworkRequest'
ошибка: undefined reference to `_imp___ZN15QNetworkRequestD1Ev'
ошибка: undefined reference to `_imp___ZN15QNetworkRequestD1Ev'
ошибка: release/network.o: bad reloc address 0x13 in section `.eh_frame'
ошибка: error: ld returned 1 exit status

А вот код класса ... Вроде бы все правильно делаю, ан не работает ... Подскажите ?

Код:
#ifndef NETWORK_H
#define NETWORK_H

#include <QObject>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkReply>
#include <QUrl>

#include <QMainWindow>
#include <QEventLoop>


class Network: public QObject
{
    Q_OBJECT

public:
    Network(QString urlString);

    QUrl url;
    QNetworkAccessManager *manager;
    QNetworkReply *reply;

    void getReply();

public slots:
    void downloadFinished();
};

Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #4 : Октябрь 07, 2013, 22:41 »

Я же написал, в pro файле вашего проекта нужно добавить:
QT += network

и тогда не придется указывать QtNetwork/... в инклюдах.
Записан
Денис
Гость
« Ответ #5 : Октябрь 07, 2013, 22:48 »

Спс, вроде запустилось ... щас буду пробывать что-то скачивать с сайта )
Записан
Денис
Гость
« Ответ #6 : Октябрь 11, 2013, 23:44 »

Подскажите еще момент:
Спасибо большое библиотека заработала, обрашается к сайту и все ок, но выяснилось что почему-то нету ответа от сайта в Realase версии ... то есть библиотека не совсем корректно отрабатывает .... В чем может быть причина ?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.11 секунд. Запросов: 22.