Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: не получается скачать файл
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
Awesome
Раскрывающийся текст
#ifndef MYCLASS2_H
#define MYCLASS2_H
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkReply>
#include <QObject>
#include <QDebug>

class myclass2 : QObject
{
    Q_OBJECT
private:
    QNetworkAccessManager qnam;
    QNetworkReply *reply;
    QTextStream txtstream;
public:
    void startRequest();
private slots:
    void myslotfinished();
    void myslotreadyread();
    void mysloterror();
};

#endif // MYCLASS2_H
#include "myclass2.h"

void myclass2::startRequest() {
    qDebug() << "Start request";
    reply = qnam.get(QNetworkRequest(QUrl("http://google.ru")));
    connect(reply,SIGNAL(finished()),this,SLOT(myslotfinished()));
    connect(reply,SIGNAL(readyRead()),this,SLOT(myslotreadyread()));
    connect(reply,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(mysloterror()));
}

void myclass2::myslotfinished() {
    qDebug() << "finished";
    reply->deleteLater();
    reply = 0;
    qDebug() << txtstream.readAll();
}

void myclass2::myslotreadyread() {
    qDebug() << "ready read";
    txtstream << reply->readAll();
}

void myclass2::mysloterror() {
    qDebug() << "ERROR";
}
]

Вроде бы сделал как в стандартном примере HTTP Client, но при вызове startRequest() срабатывает мой qDebug и больше ничего не происходит.
Awesome
Оказалось, дело в том, что я создавал объект myclass2 в слоте обработки нажатия кнопки, и он сразу же уничтожался.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.