gpt4 book ai didi

c++ - QLabel 扩展以适应一个大图像,但不能收缩以适应一个小图像

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:46 24 4
gpt4 key购买 nike

我是QT新手,想用QT开发一个图片手动标注工具,加载图片并允许用户标注。我看了图像查看器演示,并决定使用 QLabel 来显示图像,但问题就在这里。我希望我的主窗口(仅用于显示图像,工具栏是 float 的)可以自动适应加载图像的大小。我将 image viwer 的代码更改为:

ImageViewer::ImageViewer()
{
imageLabel = new QLabel;
imageLabel->setBackgroundRole(QPalette::Base);
imageLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
imageLabel->setScaledContents(false);
setCentralWidget(imageLabel);

createActions();
createMenus();

setWindowTitle(tr("Image Viewer"));
resize(sizeHint());
}

void ImageViewer::open()
{

QString fileName = QFileDialog::getOpenFileName(this,
tr("Open File"), QDir::currentPath());
if (!fileName.isEmpty()) {
QImage image(fileName);
if (image.isNull()) {
QMessageBox::information(this, tr("Image Viewer"),
tr("Cannot load %1.").arg(fileName));
return;
}

imageLabel->setPixmap(QPixmap::fromImage(image));
imageLabel->adjustSize();

}
}

使用这段代码,主窗口 (QLabel) 可以扩展以适应大图像,但是当我加载小尺寸图像时,它无法缩小到该图像的大小。这里发生了什么问题?

非常感谢。

最佳答案

正如指出的那样,对于仍在寻找答案的人 here ,您需要设置最小尺寸属性:

 imageLabel->setMinimumSize(1, 1);

关于c++ - QLabel 扩展以适应一个大图像,但不能收缩以适应一个小图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11425248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com