私は、ubuntu-sdkを使用してC++プラグインでUbuntu QML(電話)アプリを作成しています。私のアプリにはpng画像が含まれており、その画像をバイナリに含めるため(電話で表示されるように)、qrcファイルを作成しました。
私のqrcファイルは次のようになります。
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>../../../app/graphics/bigredbutton.png</file>
</qresource>
</RCC>
C++プラグイン(cmake)リソースファイルを追加したQMLアプリ が示唆することを試し、デスクトップバージョンが動作するようにしました。ただし、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 Phoneでアプリを正常に起動するために必要な他の構成は何ですか?
Ubuntu 15.10で最新のubuntu-sdkバージョンを使用しています。
これは私のために働いたものです。
resources.qrcは{PROJECT_DIR}/resourcesにあります。
<RCC>
<qresource prefix="/180">
<file alias="five">180/five_180.png</file>
...
</qresource>
</RCC>
私のバックエンド/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によって指定されたデフォルトのexample-app構造があります。
これがお役に立てば幸いです。