这里假设所有像素的RGBA值按顺序写入1.dat,当然也可以是一块内存区域
QImage* image = new QImage(800, 600, 32, 0, QImage::IgnoreEndian);
char* data = new char[600*4*800];
QFile file("1.dat");
file.open(IO_ReadWrite);
int i = file.readBlock((char*)(image->bits()), 600*4*800);
image->loadFromData((uchar*)data, 600*4*800);
上面一句才是关键,你只要把所有像素的RGBA的值一个接一个放入data即可