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>)));

Тоже нуль результатов
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 22.7.2011, 17:11
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


У меня так же и пашет.
Про QT + = network не забыли?

Сообщение отредактировал RazrFalcon - 22.7.2011, 17:13
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 22.7.2011, 19:05
Сообщение #3


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


Цитата
Не вызывается слот replyFinish.


и ещё обрати внимание - пишутся ли в консоли какие-нибудь сообщения при назначении связи или при срабатывании сигнала
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
vankleef
  опции профиля:
сообщение 23.7.2011, 0:01
Сообщение #4


Студент
*

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

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




Репутация:   1  


Дико извиняюсь, на работе почему то не работало. Пришел домой-все хорошо)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 23.7.2011, 10:16
Сообщение #5


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


vankleef, скорее всего полный ребилд всё исправил бы тогда
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.3.2024, 15:52