Как указать групповые символы в файле ресурсов.qrc QML?
Есть х число .png
файлы в каталоге.
Вместо того, чтобы добавлять все это вручную, я бы хотел указать путь к каталогу в .qrc
файл и пусть он включает все из них самостоятельно.
Как это сделать?
3 ответа
Нет, это пока невозможно, см. Подробности в этом отчете об ошибках.
Вот небольшой скрипт 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-файле, он будет работать. Я пытался, и это работало хорошо.
Если вы используете qmake, вы можете просто сослаться на папку, содержащую ваши ресурсы, как это в вашем файле проекта:
RESOURCES += images/
Нет необходимости использовать сценарии или даже $$files()
помощник, если только вы не хотите перемещаться по расширению файла.