Qt qrc 资源路径不起作用

Qt qrc resource path doesn't work

本文关键字:不起作用 路径 资源 qrc Qt      更新时间:2023-10-16

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

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

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

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

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

你指定的前缀应用于应用程序中的资源路径。它不会应用于文件的实际路径。正确的资源应该是:

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

资源路径为:/images/images/image.png

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

如果你在资源文件中使用别名:-

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

然后你可以访问你的图像,因为你正在做:-

":/图片/image.png "