繁体   English   中英

如何在QML的.qrc资源文件中指定通配符?

[英]How to specify wildcards in .qrc resource file of QML?

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

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

不,这是不可能的,请参阅此错误报告了解详细信息。

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

#!/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

您可以轻松自定义它。

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

project.pro 中的以下条目确保资源内置到应用程序二进制文件中,使其在需要时可用:

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

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

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

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

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

RESOURCES += images/

无需使用脚本甚至$$files()助手,除非您想按文件扩展名进行 glob。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM