When extracting the thumbnails in the secondary thread, why not just store the HBitmaps until you are back in the main thread again?
So just use a collection of HBitmaps as your container instead of QPixmaps...
(Reading through the documentation, it doesn't look like there is an easy way to accomplish the task without using QPixmaps).
An added option (if the above route proves to be too slow at the time of rendering) is to have your main thread periodically check your HBitmap list and do the conversion in kind of a Producer Consumer model where your secondary thread creates a short list of HBitmaps, and your main thread on a timer, goes and converts them. This should only be necessary if you are looking at a lot of thumbnails...
A third way that you could go about this, is go outside of Qt, and find another way to cache those bitmaps or an intermediate conversion that you could turn into a QImage. You could even go to the source of Qt and see how fromWinHBITMAP()
is implemented and create your own.
Hope that helps.