Используйте QItemDelegate для отображения миниатюр изображений

StackOverflow https://stackoverflow.com/questions/24212

Вопрос

Каков наилучший способ использования QT4 QItemDelegate показывать миниатюры изображений в представлении?

В частности, как вы можете предотвратить блокировку делегата элемента при генерации pixmaps из очень больших файлов изображений (> 500 МБ)?

Кто-нибудь может дать ссылку на какой-нибудь пример кода, который позволяет достичь этого?С другой стороны, возможно, это не то место, где нужно искать код, специфичный для Qt.

Это было полезно?

Решение

Вы делаете это неправильно, если генерируете пиксельные изображения внутри любого из методов делегирования (paint, draw ...).
Попробуйте сгенерировать эскизы только один раз (в рабочем потоке или, возможно, даже не во время выполнения, если это возможно) и попросите делегата просто отобразить их для соответствующей роли.
Если вы делаете это во время выполнения, отображайте изображение по умолчанию до тех пор, пока не сгенерируете миниатюру (как это делают веб-браузеры с изображениями, которые еще не загружены).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top