[Qt 4.5.0] QHttp и QProgressDialog, странное поведение |
Здравствуйте, гость ( Вход | Регистрация )
[Qt 4.5.0] QHttp и QProgressDialog, странное поведение |
SABROG |
17.6.2009, 11:17
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Хочу отображать QProgressDialog сразу же как пользователь нажал на кнопку типа "Скачать". Если не делать dialog.exec(), то обычно диалог появляется через 4 секунды сам (minimumDuration) или при первом step'e (изменении значения в прогрессе). Вроде бы все работает нормально за исключением того, что пользователь ждет появления диалога секунд 10, а сам диалог появляется на секунды 3. Связано это с тем, что при запросе xml файла с http сервера присходит его генерирование на основе данных в БД, а сам процесс скачивания быстрый. Так вот если все-таки делать dialog.exec(), чтобы пользователь хотябы видел, что нажатие на кнопку запустило процесс ожидания файла с сервера, то получается следующая ситуация.
По сигналу void QHttp::dataReadProgress ( int done, int total ) [signal] я меняю прогресс на диалоге. Иногда всё нормально работает и при достижении done==total диалог автоматически закрывается (типа 100% скачано). А иногда done приходит меньше, чем total, но затем следует requestFinished не дойдя до 100% и диалог остается висеть на 98-99% пока не нажмешь cancel. Ввиду разного поведения в разных ситуациях я исключаю возможность того, что сервер передает неправильный размер данных. Сообщение отредактировал SABROG - 17.6.2009, 12:34 |
|
|
SABROG |
25.6.2009, 16:55
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Говорят, что пофиксили:
Цитата Good news, I think I've fixed the bug in the Qt snapshots. The patch should appear on the public reposity in about 12 to 24 hours. You will then be able to get it from
http://qt.gitorious.org/qt/qt/commit/e5b8d...1f4e76fad47f1c4 Thank you for reporting! |
|
|
Текстовая версия | Сейчас: 28.1.2025, 20:54 |