问题
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?
回答1:
No, this is not yet possible, see this bugreport for details.
回答2:
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.
回答3:
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.
回答4:
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