我把我的那部分代码发给你看看吧 ,我是可以显示,但是跨网络传输的话就显示不完全!
QByteArray array =client->readAll();
QBuffer buffer(&array);
buffer.open(QIODevice::ReadOnly);
QImageReader reader(&buffer,"BMP");
QImage image = reader.read();
if(!image.isNull())
{
ui->MessagetextEdit->clear();
int width =ui->MessagetextEdit->viewport()->width();
if (image.size().width() > width || image.size().height() > width)
{
image = image.scaled(width, width, Qt::KeepAspectRatio, Qt::SmoothTransformation);
}
QTextCursor cursor = ui->MessagetextEdit->textCursor();
QTextDocument *document = ui->MessagetextEdit->document();
// 下面的addResource代码非常重要, 内存增加很少
cursor.movePosition(QTextCursor::End);
// edit->setAlignment(Qt::AlignCenter);
document->addResource(QTextDocument::ImageResource, QUrl("image"), image);
cursor.insertImage("image");