Verwenden Sie QItemDelegate, um Miniaturansichten von Bildern anzuzeigen
-
09-06-2019 - |
Frage
Was ist der beste Weg, QT4 zu verwenden? QItemDelegate
Miniaturansichten für Bilder in einer Ansicht anzeigen?
Wie verhindern Sie insbesondere, dass der Elementdelegierte beim Generieren blockiert? pixmaps
aus sehr großen Bilddateien (> 500 MB)?
Kann jemand auf einen Beispielcode verlinken, der dies erreicht?Andererseits ist dies möglicherweise nicht der richtige Ort, um nach Qt-spezifischem Code zu suchen.
Lösung
Sie machen es falsch, wenn Sie Pixmaps innerhalb einer der Delegate-Methoden (Malen, Zeichnen ...) generieren.
Versuchen Sie, die Miniaturansichten nur einmal zu generieren (im Arbeitsthread oder, wenn möglich, nicht einmal zur Laufzeit) und lassen Sie sie vom Delegaten nur für die entsprechende Rolle anzeigen.
Wenn Sie dies zur Laufzeit tun, zeigen Sie ein Standardbild an, bis Sie die Miniaturansicht generiert haben (wie es Webbrowser mit Bildern tun, die noch nicht heruntergeladen wurden).