Добавьте файлы изображений в Ubuntu приложение QML с плагинами C++ (qrc)

Я пишу QML Ubuntu (телефон) Приложение с плагинами C++ с помощью человечности-sdk. Мое приложение включает изображение png и для включения изображения в двоичный файл (таким образом, это показывает по телефону), я создал qrc файл.

Мой qrc файл похож на это:

<!DOCTYPE RCC><RCC version="1.0">
<qresource>
    <file>../../../app/graphics/bigredbutton.png</file>
</qresource>
</RCC>

Я попробовал, какое приложение QML с плагином C++ (cmake) добавляющий файл ресурсов предлагает и заставило Настольную версию работать. Однако, когда я запускаю приложение на своем Aquaris E4.5, изображение не обнаруживается, и я получаю следующую ошибку:

QML QQuickImage: не Может открыться: file:///opt/click.ubuntu.com/ProjectName.Nickname/0.1/share/qml/app/graphics/bigredbutton.png

Изображение, которое я хочу показать, хранится в/ProjectName/app/graphics каталоге. Я включаю qrc файл в рамках каталога бэкенда и добавил строки, на которые связанный вопрос указывает в CMakeLists.txt в рамках каталога бэкенда:

set(CMAKE_AUTORCC ON) 
qt5_add_resources(RESOURCES modules/ProjectName/myres.qrc)

Где image/qrc файлы должны храниться, или что другая конфигурация необходима для упаковки изображения в двоичном файле и запуске приложения успешно по Телефону Ubuntu?

Я нахожусь на Ubuntu 15.10 с помощью последней версии человечности-sdk.

3
задан 13 April 2017 в 15:24

1 ответ

Это - то, что работало на меня.
Мой resources.qrc находится в {PROJECT_DIR} / ресурсы:

<RCC>
    <qresource prefix="/180">
        <file alias="five">180/five_180.png</file>
        ...
    </qresource>
</RCC>

В моем backend/CMakeLists.txt я имею:

qt5_add_resources(RESOURCE_ADDED ${CMAKE_SOURCE_DIR}/resources/resources.qrc)
...
add_library(Projectnamebackend MODULE
    ${RESOURCE_ADDED}
)
...
add_custom_target(Projectnamebackend-qmldir ALL
    COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/modules/Projectname/qmldir ${CMAKE_CURRENT_BINARY_DIR}/Projectname
    DEPENDS ${QMLFILES} ${RESOURCE_ADDED}
)

я могу тогда использовать изображения в .cpp-файле как это:

m_image = QImage(":/180/one");

проект имеет структуру приложения в качестве примера по умолчанию, данную IDE.
я надеюсь, что это помогает.

1
ответ дан 1 December 2019 в 17:35

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

Похожие вопросы: