Как указать групповые символы в файле ресурсов.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() помощник, если только вы не хотите перемещаться по расширению файла.

Другие вопросы по тегам