c++ - Qt:在 QScrollArea 中显示图像(QLabel)

标签 c++ image qt qlabel qscrollarea

我试图在位于 QMainWindow 上的 QScrollArea 内显示图像。

GUI

我想要一个固定大小的图像显示,如果加载的图像大于 QScrollArea 则出现滚动条。我的问题是,当我加载一个大于 QScrollArea 的图像时,图像出现剪切(没问题)但 UI 上没有出现滚动条。

考虑到其他 stackoverflow 问题的各种建议,这里是 Qt 设计器生成的代码:

mImageScrollArea = new QScrollArea(centralWidget);
mImageScrollArea->setObjectName(QString::fromUtf8("mImageScrollArea"));
mImageScrollArea->setGeometry(QRect(440, 0, 400, 700));
mImageScrollArea->setWidgetResizable(false);
scrollAreaWidgetContents = new QWidget();
scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
scrollAreaWidgetContents->setGeometry(QRect(0, 0, 398, 698));
mLabel = new QLabel(scrollAreaWidgetContents);
mLabel->setObjectName(QString::fromUtf8("mLabel"));
mLabel->setGeometry(QRect(0, 0, 400, 700));
QSizePolicy sizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(mLabel->sizePolicy().hasHeightForWidth());
mLabel->setSizePolicy(sizePolicy);
mLabel->setScaledContents(true);
mImageScrollArea->setWidget(scrollAreaWidgetContents);

当加载图像时,我将其显示在标签中,如下所示:

QPixmap wPixmap = QPixmap::fromImage(mImage);


ui.mLabel->resize(wPixmap.size());
ui.mLabel->setPixmap(wPixmap);

ui.mLabel->show();

如果我加载的图像大于 QScrollArea,为什么不显示任何滚动条?

最佳答案

如果您提供 UI 文件内容而不是生成的 C++ 代码,将会更有帮助。无论如何,scrollAreaWidgetContents 似乎没有布局。您需要在 Qt Designer 中为其添加网格布局。执行此操作后,您将不需要手动调整标签或 scrollAreaWidgetContents 的大小。它们将自动调整大小。也不需要在标签上调用 show,默认情况下它是可见的(除非您已将其隐藏)。

关于c++ - Qt:在 QScrollArea 中显示图像(QLabel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20571437/

相关文章:

c++ - QChar 如果 `isDigit()` 则获取数字值

c++ - C++中如何获取const string&的值

c++ - 将 char* 替换为 shared_ptr<char>

c++ - 您可以将 QWebView cookies/session 与 QNetworkAccessManager 一起使用吗?

image - 如何在YUV 420半平面图像中应用单应性/ react 性?

image - 如何以编程方式从 Windows Phone 媒体库中获取特定图像?

qt - QProcess::finished ( int exitCode, QProcess::ExitStatus exitStatus ) : exitcode 的可能值?

c++ - 空函数作为指针

C++组合和初始化

html - 元素符号图像自动调整大小