Russian Qt Forum

Qt => Вопросы новичков => Тема начата: gas_87 от Сентябрь 13, 2012, 17:44



Название: [РЕШЕНО] Теряется часть данных XML
Отправлено: gas_87 от Сентябрь 13, 2012, 17:44
Отправляю XML запрос на сервер - отправляется, получаю ответ в виде XML. Помещаю этот ответ в QTextEdit, а он там не весь. Начало ответа куда-то пропадает. Причем иногда на долю секунды в поле появляется заголовок а затем пропадает. Ответы всегда приходят одинаковые, но отображается всегда по разному. В чем проблема? Где искать пропавшую часть???
 
Код:
    apiUrl.setUrl("http:/myUrl.jsp");

    requestString = "zapros";

    request.setUrl(apiUrl);

    request.setRawHeader("POST", "blabla HTTP/1.0");

    reply = manager.post(request, requestString);

    connect(reply, SIGNAL(finished()),
            this, SLOT(getReplyFinished()));
    connect(reply, SIGNAL(readyRead()),
            this, SLOT(readyReadReply()));

void MainWindow::readyReadReply() {
    answer = reply->readAll();            //QString answer
    otvetText->setText(answer);       //QTextEdit otvetText
}

void MainWindow::getReplyFinished() {
    reply->deleteLater();


Название: Re: Теряется часть данных XML
Отправлено: gas_87 от Сентябрь 13, 2012, 18:25
Все! сам разобрался.

Вместо:
Код:
answer = reply->readAll();            //QString answer

Нужно было:

Код:
answer += reply->readAll();            //QString answer

Правда пока не знаю почему оно так(может кто и ответит).
Но думаю, что с очень маленькими XML, и первый вариант был бы рабочий.


Название: Re: [РЕШЕНО] Теряется часть данных XML
Отправлено: Пантер от Сентябрь 14, 2012, 08:08
Тебе же не сразу приходят все данные, а разбиваются на части.
otvetText->setText(answer); перенеси в getReplyFinished.