I don't know why that is, but one thing that I would check is that the QImage and that system's QPixmap are in the same format. If they are not, perhaps you could construct your QImage to the label's format, thus skipping a need for format conversion. Another thing could scaling. If your QImage is not the same size as the label and setPixmap does the scaling, you could perhaps use a faster scaling routine, or create the QImage exactly to the desired size (if it is 1 pixel row off, there might be resampling...).