загрузка QICon асинхронно в QListview - PullRequest
1 голос
/ 22 марта 2011

Я использую делегата для отображения стандартных данных модели элементов в виде списка в qt.Модель имеет QIcon, строки заголовка и подзаголовка.

Теперь я хочу загружать удаленные изображения через http в просмотр списка асинхронно.Как я могу это сделать?

У меня уже запущен просмотр списка.

1 Ответ

1 голос
/ 23 марта 2011

Существует много разных способов решения вашей задачи, и правильный ответ зависит от того, как вы строите свой пользовательский интерфейс и для чего он предназначен, и как работают другие компоненты в вашем приложении. Тем не менее, вот вам идея для рассмотрения:

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

  2. Используйте QNetworkAccessManager , чтобы подключиться к асинхронно , загрузить изображение через http. Пример того, как вы можете сделать это здесь: qt networkManager get

  3. Как только изображение будет загружено, будет вызван обработчик сигнала " Закончено " сетевого менеджера, там необходимо обновить запись в вашей модели, соответствующую загруженной ссылке, с указателем на объект изображения .

  4. Для списка вы можете использовать делегат элемента , чтобы нарисовать пустой заполнитель (или просто изображение по умолчанию) для записей, у которых еще не загружен значок;

  5. Убедитесь, что вы синхронизируете свою модель ( QMutex QSemaphore QWaitCondition )

надеюсь, это поможет, с уважением

...