QPixmap 针对绘图进行了优化,一般用于显示加载,和平台相关。而QImage则主要是为图像I/O传输、图片访问和像素修改等操作,和平台无关,可以用来优化UI响应时间。
QString openfilename=QFileDialog::getOpenFileName(this,tr("选择一个图片"),tr(""),tr("图片文件 (*.png *.jpg *.bmp)"));
QImage image;
if(!image.load(openfilename))
{
QMessageBox::information(this,tr("提示"),tr("选择图片失败"));
return;
}
ui->labelSnapshot->setPixmap(QPixmap::fromImage(image).scaled(ui->labelSnapshot->size()));
两者相互转换
QImage image = pixmap.toImage();
QPixmap pixmap = QPixmap::fromImage(image);