Название: qNetworkManager - потерялась асинхронность. Отправлено: Mira от Октября 30, 2015, 12:02 Проблема следующая. Делаю запрос - и пока файл скачивается, прогресс бар в UI должен обновляться.
Чего соответственно не происходит. Мозг мой под вечер совсем не варит, не понимаю почему нет асинхронности с гуем. (ниже мой пример только с заглушкой и явным указанием потоков - работает правильно) Код
Заранее большое спасибо всем откликнувшимся! Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Mira от Октября 30, 2015, 12:06 В примере-заглушке с явным указанием асинхронности - UI обновляется нормально
Код
Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Tamori Nao от Октября 30, 2015, 12:09 Попробуй qApp-> process events()
Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Mira от Октября 30, 2015, 12:12 Фокус не удался, за вариант - спасибо )
Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Bepec от Октября 30, 2015, 12:24 Фокус удастся, если вы поставите рекомендованную вам строчку в нужное место. Так же тут влияет ширина канала. Если вам приходит всё за один пакет, то и обновится он один раз.
Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Mira от Октября 30, 2015, 12:26 За один пакет не приходит, в qDebug я вижу как все сливается потихоньку мне на комп.
А в какое нужное место поставить строчку? (в конце слота, как и основной функции не помогло) Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Mira от Октября 30, 2015, 12:36 Идея c приходом за один пакет - довела меня до верной мысли, спасибо огромное, Верес! :D
Нашлась асинхронность, пакеты прилетают практически мгновенно, вывод в дебаг опаздывает. Вывод в гуй но в текстовый графич. элемент сработал правильно, проблема именно в прогресс баре, а это уже совсем другая история ::). Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Tamori Nao от Октября 30, 2015, 13:04 Если не сложно, покажите потом код
Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Mira от Октября 30, 2015, 13:42 Не сложно конечно %)
вот что получилось в итоге: Код
Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Bepec от Октября 30, 2015, 17:15 Вы просто рекомендованную строчку куда то не туда пихаете, раз у вас проблемы. Показали б код, куда пихали - мы б вам и подправили :D
Название: Re: qNetworkManager - потерялась асинхронность. Отправлено: Mira от Октября 31, 2015, 09:48 :) так загадочно написали только строчку, кто ж разберет куда ее присунуть :) потыкала везде, бесполезно. Но все равно очень полезно вы меня на мысль вывели, так бы еще два дня протыкалась.
проблема неработающего прогресс бара как раз не была очевидна из-за хорошо работающей асинхронности. Размер файла в байтах не влезал в инт переменную прогресс бара, и он вообще нафиг выпадал из жизни и выдавал ошибку. Но так как процесс скачивания файла при этом благополучно асинхронно продолжался, то не было очевидно что главный поток не работает не по причине ожидания докачки. |