Member 12733346 Ответов: 1

Обновите индикатор выполнения QT при загрузке файла ресурсов


Всем привет, я должен реализуйте в c++ класс для загрузки файла ресурсов во время обновления индикатора выполнения (предпочтительно с помощью шаблона проектирования Observer), реализующего графический интерфейс с помощью QT Creator.
Я не знаю, с чего начать..
Теоретически субъект - это файл,а наблюдатель - мой индикатор выполнения.
я столько раз гуглил, но не нашел ничего, что могло бы мне помочь.
Если вы знаете, как реализовать некоторые методы или помочь мне в любом случае Я буду счастлива.
Спасибо, что все мне ответят.

Что я уже пробовал:

я должен реализовать этот класс в течение нескольких дней, и мне очень важно, чтобы у меня были предложения.

1 Ответов

Рейтинг:
2

Jochen Arndt

Чтобы обеспечить отображение прогресса, ваша процедура загрузки должна периодически обновлять элемент управления графическим интерфейсом. Обычно это делается путем выполнения загрузки в блоках и обновления индикатора выполнения после обработки каждого фрагмента данных.

С Qt, Сигналы и слоты / Qt Core 5.7[^] используются для связи между объектами. То Класс QProgressBar / Qt Widgets 5.7[^] уже обеспечивает setValue() слот для того, чтобы ваша процедура загрузки могла излучать сигнал. Но для этого требуется, чтобы ваша процедура загрузки была QObject основывающийся.

Другим решением является использование Класс QEvent / Qt Core 5.7[^] основанное на пользовательском событии. Затем это пользовательское событие должно быть обработано в QProgressBar производный класс или диалоговое окно, содержащее индикатор выполнения. Событие может быть отправлено любой не-Qt-функцией-даже из другого потока-с помощью QCoreApplication::postEvent.

Пример использования QEvent можно найти в ответе, который я написал некоторое время назад: http://www.codeproject.com/Answers/1074217/update-change-QListWidget-item-value#answer1[^].