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

会有一股神秘感。 提交于 2019-12-01 06:28:31

No, this is not yet possible, see this bugreport for details.

Here is a little bash script that generate a qrc file from the content of a folder

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

You can easily customize it.

Just for documentation, I found a workaround to this on this link.

The following entry in project.pro ensures that the resources are built into the application binary, making them available when needed:

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

A more convenient approach is to use the wildcard syntax to select several files at once:

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

So, if you use $$file(wildcard) on your .pro file, it would work. I tried and it worked OK.

If you’re using qmake you can simply reference the folder containing your assets like this in your project file:

RESOURCES += images/

No need to use scripts or even the $$files() helper, unless you want to glob by file extension.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!