crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QNetworkAccessManager и сигнал finished(QNetworkReply*)
vankleef
  опции профиля:
сообщение 22.7.2011, 14:23
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 21.10.2010
Пользователь №: 2134

Спасибо сказали: 9 раз(а)




Репутация:   1  


Доброго времени суток, форумчане)

Необходимо написать приложение, работающее с сетью. Для этих целей решил использовать в приложении класс QNetworkAccessManager.
Для тестирования написал небольшую программку:

main.cpp
Раскрывающийся текст
#include <QtGui/QApplication>
#include "mainForm.h"

int main(int argc, char *argv[]) {
    // initialize resources, if needed
    // Q_INIT_RESOURCE(resfile);

    QApplication app(argc, argv);

    // create and show your widgets here

    mainForm *f=new mainForm;
    f->show();

    return app.exec();
}

mainForm.h
Раскрывающийся текст
#ifndef _MAINFORM_H
#define    _MAINFORM_H

#include "ui_mainForm.h"
#include <QDebug>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QUrl>

class mainForm : public QDialog {
    Q_OBJECT
public:
    mainForm();
    virtual ~mainForm();
private:
    Ui::mainForm widget;

private slots:
    void replyFinish(QNetworkReply*);
};

#endif    /* _MAINFORM_H */

mainForm.cpp
Раскрывающийся текст
#include "mainForm.h"

mainForm::mainForm() {
    widget.setupUi(this);
    widget.textEdit->setReadOnly(true);

    qDebug()<<"GO!";

    QNetworkAccessManager *pManager = new QNetworkAccessManager(this);
    connect(pManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinish(QNetworkReply*)));
    pManager->get(QNetworkRequest(QUrl("http://ya.ru")));
}

mainForm::~mainForm() {
}

void mainForm::replyFinish(QNetworkReply* rep){
    qDebug()<<"DONE!";
}

Не вызывается слот replyFinish.. что я делаю не так? Оо кучу времени потратил на гугл, ничего внятного не нашел.
Qt 4.7.3 пример скатал из ассистанта, также пробовал следующай пример
Раскрывающийся текст
QNetworkRequest request;
request.setUrl(QUrl("http://qt.nokia.com"));
request.setRawHeader("User-Agent", "MyOwnBrowser 1.0");

QNetworkReply *reply = manager->get(request);
connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
         this, SLOT(slotError(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(sslErrors(QList<QSslError>)),
         this, SLOT(slotSslErrors(QList<QSslError>)));

Тоже нуль результатов
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.9.2019, 14:56