Russian Qt Forum
Ноябрь 23, 2024, 01:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QHTTP + сигналы и слоты  (Прочитано 3134 раз)
QApple
Гость
« : Май 11, 2009, 10:54 »

Добрый вечер, форумчане

Воюю с Qt уже некоторое время, столкнулся с новым препятствием
Задача: отправить запрос (через qhttp), получить результат, отпарсить нужные данные, отправить новый запрос, получить, отпарсить, ...

С сигналами и слотами пока на Вы. Основные моменты:

1. создаю класс и http
...
Код
C++ (Qt)
wnd : public QMainWindow
...
QHttp *http;
 
...

2. связываю нажатие кнопки с вызовом функции где идут мои запросы
...
Код
C++ (Qt)
connect( ui->translate, SIGNAL( clicked() ), this, SLOT( letsgo() ) ) ;
 
...

3. связываю http c функцией done (где у меня идет обработка данных)
...
Код
C++ (Qt)
connect( http, SIGNAL( done(bool) ), this, SLOT( done() ) );
 
...

Что имеем: один запрос обрабатывается корректно. А если в letsgo() запихать два и разделить их выводом done() - получается ерунда.
запрос1
done();
запрос2

Понимаю что чего-то не понимаю, но идей нет )

Как исправить и сделать все корректно?
Записан
kwisp
Гость
« Ответ #1 : Май 11, 2009, 12:21 »

почему решил пользоваться именно сигналом done() Непонимающий
по моему одного его маловато. он тебе скажет что допустим последний запрос закончился без ошибки а о предшествующих ничего не скажет. Грустный

я пользуюсь
requestFinished(int,bool)
и
responseHeaderReceived(const QHttpResponseHeader&)

в примерах ${QTDIR}/exapmles/network/ есть примеры работы с http запросами в принципе по ним понятно как работать...
Записан
ритт
Гость
« Ответ #2 : Май 11, 2009, 13:36 »

догадываюсь, что пишется переводчик текста Улыбающийся
в доп.компонентах поищи - у нас уже писали подобное (код стыришь)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.101 секунд. Запросов: 20.