我正在尝试从 QLabel 中的资源文件中显示图像。所有这些都是通过扩展主核心应用程序的插件发生的。

#include "sampleplugin.h"
#include <QtWidgets>

SamplePlugin :: SamplePlugin()
{

    Q_INIT_RESOURCE(pluginresources);

    oLContainerWidget = new QWidget();

    olWrapper = new QHBoxLayout();
    bagIcon(":/sample_plugin_resources/images/Dry-50.png");

    oLContainerWidget -> setLayout(olWrapper);
}

void SamplePlugin :: testIcon(const QString &imageUrl)
{
    QPixmap pix(imageUrl);

    QLabel *sampleIconLabel = new QLabel();
    sampleIconLabel -> setPixmap(pix);

    olWrapper -> addWidget(sampleIconLabel);
}

该项目编译没有任何错误,但是图像没有显示。我究竟做错了什么?

谢谢大家。

项目结构:
**plugins_dir**
    sampleplugin
        pluginresources.qrc
        sample_plugin_resources
            - Dry-50.png

最佳答案

检查pix是否已实际加载图像(pix.isNull())。您正在从资源路径加载图像,这是QRC文件上的完整路径吗?

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

10-12 16:57