Maybe the image format is one that pre-applies the alpha value.

Have you tried creating and empty image with fully separated channel data, e.g. QImage::Format_ARGB32, then setting the pixel values manually and then checking if they arrive correctly?

Cheers,
_