在 QLabel 中加载图像

Posted

技术标签:

【中文标题】在 QLabel 中加载图像【英文标题】:Load images in QLabel 【发布时间】:2021-12-07 20:42:28 【问题描述】:

如何在 Qlabel 或 QScrollArea 中显示更多数量(文件夹)的图像?

QImage image("E:/Raul/Images");
  ui.label->setPixmap(QPixmap::fromImage(image));

像这样,但我希望在一个标签中加载更多数量的图像。

【问题讨论】:

我认为每个 QLabel 不能有多个图像。不过,您可以创建多个 QLabel,并在每个 QLabel 中放置一个图像。 不,我们可以,当我滚动我的滚动条时,会自动更改同一 Qlabel 中的图像。 是的,您可以更改 QLabel 中的图像;但您不能同时在同一个 QLabel 中拥有两个图像。 @SaiRaul,您的评论说即使您 setPixmap 建议您只能设置一个,也可以这样做。请解释一下为什么你认为这是可能的。 这里我们没有在Qpixmap中使用,我们可以通过使用QFileInfo和filePath()、absoluteFilePath()和dir()来实现。 【参考方案1】:

结果:

代码:

#include <QApplication>
#include <QLabel>
#include <QLineEdit>
#include <QPointer>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWizardPage>

#include <QDebug>

int main(int argc, char *argv[])

    QApplication a(argc, argv);
    QWidget widget;
    QVBoxLayout *layout=new QVBoxLayout();
    QLabel *label=new QLabel("<img src=:/0_0.jpg align=middle><img src=:/0_1.jpg align=middle><strong>Hello</strong> "
    "<font color=red>Sai Raul!");
    layout->addWidget(label);
    widget.setLayout(layout);
    widget.show();
    return a.exec();
    //

QLabel 不是网络浏览器,因此像&lt;img src=/media/cc0-images/grapefruit-slice-332-332.jpg/&gt; 这样的超链接不起作用,但是为什么来自资源的图像不能这样做)))。

【讨论】:

@SaiRaul 请将我的答案标记为已接受,绿色复选标记

以上是关于在 QLabel 中加载图像的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Glide 没有在 android 中加载 https 图像?

无法使用设备图像 URL 在设备中加载图像?

是否在 webview 中加载图像?

如何等待在画布中加载图像

在缓存中加载 Div 背景图像 [重复]

QML:在 GridView 中加载图像