QGraphicsView控件显示图像,并且自适应控件大小
1.先看效果

2.代码也很简单,就是根据图像以及控件的长宽比进行等比例缩放,选最小的比例即可
scene = new QGraphicsScene(this);
ui->graphicsView->setScene(scene);
QString picPath = "你的图片路径";
QPixmap scalePixmap = QPixmap(picPath);
double scale = 1.0;
double scaleX = static_cast<double>(ui->graphicsView->width()) / (scalePixmap.width() + 1);
double scaleY = static_cast<double>(ui->graphicsView->height()) / (scalePixmap.height() + 1);
if (scaleX > scaleY)
{
scale = scaleY;
}
else
{
scale = scaleX;
}
scalePixmap = scalePixmap.scaled(scalePixmap.width() * scale, scalePixmap.height() * scale, Qt::KeepAspectRatio);
scene->addPixmap(scalePixmap);