Форум программистов, компьютерный форум, киберфорум
Наши страницы

Qt

Войти
Регистрация
Восстановить пароль
 
CoolONE
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 6
#1

Визуализация загрузки файлов из ресурсов - C++ Qt

01.06.2016, 18:13. Просмотров 294. Ответов 12

Проблема вот в чем: при загрузки большого кол-ва файлов проходит 2-4 секунды после запуска, а воспроизведение этих файлов стоит при запуске. Хочу сделать шкалу загрузки всех файлов, а после этого воспроизведение этих файлов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2016, 18:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Визуализация загрузки файлов из ресурсов (C++ Qt):

Визуализация сортировки файлов (простой файловый менеджер) - C++ Qt
Здравствуйте. Только изучаю Qt и пишу простой файловый менеджер. Сделал вывод папок, файлов и сортировку (все показал на скрине). Как...

Визуализация картинки после загрузки - PHP
Доброго времени суток. не так давно пишу на php и работаю с zend. у меня есть элемент загрузки фотографии в форме ...

Расчёт загрузки ресурсов по суткам - AnyLogic
Нужно посчитать загрузку ресурса по суткам. То есть сколько времени из 1440 минут он занят и выводить это время после прохождения каждого...

Открытие неизвестных файлов, например файлов ресурсов игры для распаковки - C#
Хочу научиться писать программы для открытия неизвестных файлов. например, вышла какая-нибудь игра, а в ней ресурсы или конфиги в...

Влияние ресурсов на оперативную память и скрость загрузки - Unity, Unity3D
Здравствуйте, помогите пожалуйста разобраться как Unity работает с ресурсами. Предположим у нас есть текстура 10мб и она лежит в Assets: ...

Написать клиент для загрузки сетевых ресурсов на диск - C++
Нужно написать клиент для загрузки сетевых ресурсов на диск. Как это сделать для загрузки ресурсов с форматом pdf? на с++.Помогите(

12
Wyn
Модератор
1052 / 634 / 231
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
01.06.2016, 19:23 #2
Молодцы что хотите. Проблема то в чём?
0
CoolONE
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 6
01.06.2016, 20:56  [ТС] #3
Проблема в задержке

Добавлено через 1 минуту
Как я понял само действие загрузки откладывается в фон, а сама программа продолжается.
0
Wyn
Модератор
1052 / 634 / 231
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
01.06.2016, 21:03 #4
Не обязательно. Если вы будете работать не через сигналы, а вызывать соответствующие ui функции напрямую, то можно в отдельный поток загрузку и не выводить. Программа правда отвечать на действия пользователя не будет, но вот показывать прогресс загрузки - вполне себе.
0
CoolONE
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 6
01.06.2016, 21:21  [ТС] #5
Так я функции напрямую вызываю
0
Wyn
Модератор
1052 / 634 / 231
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
01.06.2016, 22:19 #6
Цитата Сообщение от CoolONE Посмотреть сообщение
Так я функции напрямую вызываю
Тогда в чём проблема? Подробнее описывайте наблюдаемое поведение и то, которое хотите получить в результате.
0
CoolONE
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 6
02.06.2016, 14:05  [ТС] #7
У меня есть игра. При запуске есть заставка. Раньше я загружал всю музыку из папок расположенных рядом с exe, туда я их закидывал сам. Сейчас портанул это все на Android, там так сделать не получалось, всю музыку запихнул в ресурсы. При запуске сначала музыка загружается из ресурсов сразу после этого воспроизводится. Загрузка занимает много времени, из-за этого музыка стартует с задержкой. Я считаю что единственный выход - сделать при запуске загрузку (как это обычно в играх сделано, с визуализацией), а потом показывать заставку бе задержки.
0
Wyn
Модератор
1052 / 634 / 231
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
02.06.2016, 16:41 #8
Ну так делайте. Если делаете в том же потоке, то можно вызывать посреди долгих функций QCoreApplication::processEvents(), чтобы UI обработало события. Или выносите загрузку в отдельный поток и уже оттуда информируйте ui о её прогрессе.
0
CoolONE
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 6
02.06.2016, 17:54  [ТС] #9
Как это реализовать? Приведите конкретные примеры.
0
Dmitriy_M
1375 / 1258 / 114
Регистрация: 20.03.2009
Сообщений: 4,494
Записей в блоге: 11
02.06.2016, 19:16 #10
Под Android храни файлы в Assests. Поддержка в Qt Assets File System
0
Wyn
Модератор
1052 / 634 / 231
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
02.06.2016, 19:37 #11
Цитата Сообщение от CoolONE Посмотреть сообщение
Как это реализовать? Приведите конкретные примеры.
однопоток
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
долгая_функция_загрузки()
{
    int k = 0;
    for (int i = 0; i < filesCount; ++i) { 
        loadFile();
        if (k < filesCount/i) {
            k = filesCount/i;
            m_progressBar->setValue(k);
            qApp->processEvents();
        }
    }
}
В многопоточном тоже самое, только убираете processEvents и вместо прямого вызова setValue() используете объявленный в вашем workerScript сигнал, к примеру, procentChanged(int), который соединяете со слотом setValue(int value) вашего QProgressBar.
1
nmcf
5763 / 5074 / 1734
Регистрация: 14.04.2014
Сообщений: 20,768
02.06.2016, 19:46 #12
Надо ещё предусматривать ситуацию, когда пользователь закрывает программу, во время этого процесса, чтобы всё корректно завершилось.
0
CoolONE
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 6
02.06.2016, 21:44  [ТС] #13
Спасибо, попробую
0
02.06.2016, 21:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2016, 21:44
Привет! Вот еще темы с ответами:

Организовать цикл загрузки из файла однотипных ресурсов с индексом в имени - C#
Есть массив PictureBox и 10 bmp в файле ресурсов Resource1.resx. Имена картинок: _0, _1, _2, ..., _9 (студия дала сама при добавлении...

Вывод файлов и форма загрузки/удаления файлов работают на одной странице, а на другой в ячейках таблицы нет - PHP
Доброго времени суток. В общем ситуация следующая. В своем профиле пользователь загружает файлы, которые идут в пока в папку upload/ и...

.NET 4.x Использование файлов-ресурсов - C#
Здравствуйте! Я добавил bmp файлы(Add Existing item -&gt; File.bmp). Они появились в Solution Explorer. Как мне ими воспользоваться из кода?

J2ME загрузка файлов ресурсов - Java ME
Помогите плиз. Пробую писать мидлет в EclipseMe по книжке (должен отображать картинку): import javax.microedition.midlet.MIDlet; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru