Я пишу 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.
Это - то, что работало на меня.
Мой 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.
я надеюсь, что это помогает.