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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QNetworkAccessManager  (Прочитано 4071 раз)
lega4
Гость
« : Май 11, 2011, 20:08 »

Заранее извините, если странный вопрос, я просто пока еще не очень хорошо разбираюсь в Qt, недавно начал изучать.
В документации приводится такой пример get-запроса
Код:
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
 connect(manager, SIGNAL(finished(QNetworkReply*)),
         this, SLOT(replyFinished(QNetworkReply*)));

 manager->get(QNetworkRequest(QUrl("http://qt.nokia.com")));
Как я понял механизм работы - после manager->get(...), по сути, код будет выполняться дальше, и извещение о завершении запроса мы можем получить только через сигнал finished менеджера. А мне бы хотелось сделать так, чтобы программа дальше не выполнялась, пока запрос не будет сделан. Если совсем просто, то чтобы можно было написать нечто типа QString MyGET (QUrl) - функции, сразу возвращающей результат запроса. Абстрактненький примерчик:
Код:
QString MyGET (QUrl)
{//Какая-то реализация
}
 int main()
{...
MyLabel->setText(MyGET(QUrl("http://123.ru")); //После этой строки в лейбле уже будет результат запроса и следующая строка спокойно может его использовать
}
Записан
Ubuntu_linux
Гость
« Ответ #1 : Май 12, 2011, 00:05 »

Код
C++ (Qt)
QEventLoop
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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