如何调整图像大小以适合图形视图

How to resize image to fit in graphic view

我有代码可以在 listWidget 上显示带有其名称的图像。在那种情况下,图像将不适合图形视图。我测试了一些调整大小的方法。但图像不会调整大小。

如何调整图片大小以适应?请看看我的代码。

directory.setNameFilters({"*.png", "*.jpg"});

for(const QFileInfo & finfo: directory.entryInfoList()){
    auto imageObject = new QImage();
    imageObject->load(finfo.absoluteFilePath());

    auto image = QPixmap::fromImage(*imageObject);

    QGraphicsScene *scene = new QGraphicsScene(this);

    scene->addPixmap(image);
    //scene->setSceneRect(image.rect());
    QGraphicsView *graphicsView = new QGraphicsView(scene);
    graphicsView->fitInView(scene->sceneRect(),Qt::KeepAspectRatio);

    auto item = new QListWidgetItem("", ui->listWidget_main);
    auto    widget = new QWidget;
    auto    label = new QLabel(finfo.fileName());
    auto    vb = new QVBoxLayout;

    vb->addWidget(label);
    vb->addWidget(graphicsView);

    widget->setLayout(vb);
    widget->setMinimumSize(340,340);
    ui->listWidget_main->setItemWidget(item,widget);
}

我使用 QLabel 而不是 QGraphicsView

directory.setNameFilters({"*.png", "*.jpg"});

    for(const QFileInfo & finfo: directory.entryInfoList()){

        QPixmap image(finfo.absoluteFilePath());
        auto imageLabel = new QLabel();
        imageLabel->setMinimumSize(320,320);
        imageLabel->setScaledContents(true);
        imageLabel->setPixmap(image);



        auto    item = new QListWidgetItem("",listWidget_main);
        auto    widget = new QWidget;
        auto    label = new QLabel(finfo.fileName());
        auto    vb = new QVBoxLayout;

        vb->addWidget(label);
        vb->addWidget(imageLabel);

        widget->setLayout(vb);
        widget->setMinimumSize(340,340);
        listWidget_main->setItemWidget(item,widget);
}