In my windows-only program, I use a third-party library, which returns a HBITMAP.
HBITMAP
Is there a way to initialize a QImage from its contents, i.e. to convert it to a QImage?
QImage
This is the way to do it for Qt 4 (QtGui):
QImage image(QPixmap::fromWinHBITMAP(hBitmap).toImage());
This is the way to do it for Qt 5 (QtWinExtras):
QPixmap pixmap = QtWin::fromHBITMAP(hBitmap); QImage image = pixmap.toImage(); // or QtWin::imageFromHBITMAP(hdc, hBitmap, width, height)
OK, this seems to work for me:
Qt5 without Extras: Put before your code
#include <QPixmap> Q_GUI_EXPORT QPixmap qt_pixmapFromWinHBITMAP(HBITMAP bitmap, int hbitmapFormat=0);
and in your function, for example
QPixmap pixmap = qt_pixmapFromWinHBITMAP(LoadBitmap(uiID));
Cheers