6

一个目录中有 x 个.png文件。
我不想手动添加所有这些,而是​​想在.qrc文件中指定目录路径并让它自己包含所有这些。

实现这一目标的方法是什么?

4

4 回答 4

5

这是一个从文件夹内容生成 qrc 文件的小 bash 脚本

#!/bin/sh
QRC=./resourcefilename.qrc
echo '<!DOCTYPE RCC>' > $QRC
echo '<RCC version="1.0">' >> $QRC
echo '  <qresource>' >> $QRC

# for each files/folder in the folder "theFokderName"
for a in $(find theFolderName -d)
do
    # if this is not a folder
    if [ ! -d "$a" ]; then
        echo '      <file>'$a'</file>' >> $QRC
    fi
done

echo '  </qresource>' >> $QRC
echo '</RCC>' >> $QRC

您可以轻松自定义它。

于 2015-01-30T22:13:07.100 回答
5

不,这还不可能,有关详细信息,请参阅此错误报告。

于 2015-01-14T19:09:25.513 回答
2

仅用于文档,我在此链接上找到了解决方法。

project.pro 中的以下条目确保将资源构建到应用程序二进制文件中,以便在需要时使用它们:

RESOURCES += \
    qml/main.qml \
    images/image1.png \
    images/image2.png

更方便的方法是使用通配符语法一次选择多个文件:

RESOURCES += \ 
    $$files(qml/ *.qml) \
    $$files(images/ *.png)

因此,如果您在 .pro 文件上使用 $$file(wildcard),它会起作用。我试过了,效果很好。

于 2018-11-08T12:11:07.340 回答
0

如果您使用的是 qmake,您可以简单地在项目文件中引用包含您的资产的文件夹,如下所示:

RESOURCES += images/

不需要使用脚本甚至是$$files()帮助程序,除非你想通过文件扩展名进行全局化。

于 2019-08-12T15:10:06.387 回答