Loading images with an ImageProvider
It is now time to display the thumbnails for our freshly persisted album. These thumbnails have to be loaded somehow. Because our application is targeted at mobile devices, we cannot afford to freeze the UI thread while loading thumbnails. We would either hog the CPU or be killed by the OS, neither of which are desirable destinies for gallery-mobile
. Qt provides a very handy class for handling image loading: QQuickImageProvider
.
The QQuickImageProvider
class provides an interface to load the QPixmap
class in your QML code in an asynchronous manner. This class automatically spawns threads to load the QPixmap
class and you simply have to implement the requestPixmap()
function. In addition, QQuickImageProvider
caches the requested pixmap by default to avoid hitting the data source too much.
Our thumbnails must be loaded from the PictureModel
element, which gives access to the fileUrl
of a given Picture
. Our implementation of QQuickImageProvider
will have to...