There are x number of .png
files in a directory.
Instead of adding all these manually I would want to specify the directory path in the .qrc
file and let it include all of them on its own.
What is the way to achieve this?
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.
来源:https://stackoverflow.com/questions/27937654/how-to-specify-wildcards-in-qrc-resource-file-of-qml