8

我想在QLabel小部件中显示图像。图像位于./images/相对于resource.qrc文件的文件夹中,包含如下:

<RCC>
    <qresource prefix="/images">
        <file>image.png</file>
    </qresource>
</RCC>

现在我想在 a 中显示图像QLabel

QPixmap pixmap( ":/images/image.png" );
label->setPixmap( pixmap );

这行不通。在调试模式下pixmap = NULL。我认为qrc路径是错误的。使用图像的绝对系统路径,c:/images/...它可以正常工作。任何想法?

4

2 回答 2

10

您指定的前缀将应用于应用程序内的资源路径。它不适用于文件的真实路径。正确的资源应该是:

<RCC>
    <qresource prefix="/images">
        <file>images/image.png</file>
    </qresource>
</RCC>

并且资源路径将是:/images/images/image.png.

您还可以prefix="/"在 RCC 文件中指定并使用://images/image.png资源路径。我觉得这样更方便。

于 2013-06-14T07:38:52.923 回答
6

如果您在资源文件中使用别名,则给出:-

<RCC>
<qresource prefix="/images">
    <file alias="image">images/image.png</file>
</qresource>
</RCC>

然后你可以像你一样访问你的图像: -

“:/图像/图像.png”

于 2013-06-14T09:11:34.193 回答