A QImage is a class from the Qt toolkit which provides a hardware-independent image representation that allows direct access to the pixel data, and can be used as a paint device.
Qt provides four classes for handling image data: QImage, QPixmap, QBitmap and QPicture. QImage is designed and optimized for I/O, and for direct pixel access and manipulation.
Because QImage is a QPaintDevice subclass, QPainter can be used to draw directly onto images. When using QPainter on a QImage, the painting can be performed in another thread than the current GUI thread.
The QImage class supports several image formats, including monochrome, 8-bit, 32-bit and alpha-blended images.
QImage provides a collection of functions that can be used to obtain a variety of information about the image. There are also several functions that enable transformation of the image.
QImage objects can be passed around by value since the QImage class uses implicit data sharing. QImage objects can also be streamed and compared.
The official Qt documentation can be found here for Qt 4.8 and here for Qt 5.