Лучший способ получить результат запроса - PullRequest
0 голосов
/ 27 января 2009

Я занимаюсь разработкой приложения, которое получает большие изображения с интернет-сервера, что является наилучшим способом загрузки этих изображений без остановки всего приложения? Я имею в виду фоновую загрузку. Я думал о загрузке в другой теме.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2010

Фоновый поток будет работать, но сложно разобраться в правильности и обычно не требуется ... Qt4 позволяет очень просто выполнять неблокирующий ввод / вывод в основном потоке, используя класс QTcpSocket - в основном вы подключаете QTcpSocket объект readReady () посылает сигнал в слот вашей программе, и ваш слот считывает недавно доступные данные из QTcpSocket при его вызове. Для примера посмотрите на пример fortuneclient в каталоге примеров Qt ($ QTDIR / examples / network / fortuneclient).

0 голосов
/ 27 января 2009

Да, вам нужно порождать другой поток для сетевого взаимодействия, а затем, когда он завершит чтение, вы можете использовать логический флаг volatile, чтобы указать, что работа завершена, и основной / прикладной поток может принять данные и включить его. Данные могут быть «частью» изображения, если вы хотите, чтобы изображение отображалось по частям (как это делает браузер).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...