crossplatform.ru

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


  Ответ в QNetworkAccessManager и сигнал finished(QNetworkReply*)
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Алексей1153 Дата 23.7.2011, 10:16
  vankleef, скорее всего полный ребилд всё исправил бы тогда
vankleef Дата 23.7.2011, 0:01
  Дико извиняюсь, на работе почему то не работало. Пришел домой-все хорошо)
Алексей1153 Дата 22.7.2011, 19:05
 
Цитата
Не вызывается слот replyFinish.


и ещё обрати внимание - пишутся ли в консоли какие-нибудь сообщения при назначении связи или при срабатывании сигнала
RazrFalcon Дата 22.7.2011, 17:11
  У меня так же и пашет.
Про QT + = network не забыли?
vankleef Дата 22.7.2011, 14:23
  Доброго времени суток, форумчане)

Необходимо написать приложение, работающее с сетью. Для этих целей решил использовать в приложении класс 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>)));

Тоже нуль результатов
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.7.2025, 10:10