これは本当に基本的なように思えますが、何らかの理由で、以下の超シンプルなQMLアプリで画像ソースを動作させることができません。
参考までに、Qt 5.3.2に基づいてMac OS-X 10.9.5、Qt Creator 3.2.1を実行しています。
import QtQuick 2.3
import QtQuick.Controls 1.2
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Test")
Image {
id: image1
x: 10
y: 10
width: 100
height: 100
source: "testImage.png"
}
}
次のエラーが表示されます。
qrc:/main.qml:10:5: QML Image: Cannot open: qrc:/testImage.png
アプリケーションウィンドウは作成されますが、画像は表示されません。また、四角形で画像をラップしようとしましたが、これは役に立ちません。
ここで何が間違っていますか?
「testImage.png」はプロジェクトディレクトリにあり、リソース、絶対、相対を使用して画像パスを指定し、さらにQML UIデザイナーで画像ソースを手動で指定するあらゆる方法を試しました。
また、Qt 5.3.2を動作させるために、提案された変更に従っていたことも言及します [〜#〜] here [〜#〜] 。
ありがとう。
qml
ファイルはリソースにあると思われるので、testImage.png
リソース内の画像も。アプリを再コンパイルして実行し、イメージが正しく機能することを確認します。
すべて一緒にする必要があります。例えば:
私のコード:
Image
{
source: "images/earth.png"
このイメージをリソースから削除すると、このエラーも発生しますが、イメージはファイルシステムの正しい場所に残っています。
qml
ソースがリソースに配置されている場合、qml
からロードされるすべてのファイルもリソース内にある必要があります(Qtはこのファイルをファイルシステムではなくリソース内で検索します)。
ローカルファイルシステムから検索している場合、ファイルパスと接頭辞「file:」をsource = "file:/root/Desktop/Rathod.png"
として取得します
次の2つの問題があります。
IconImage
は画像の読み込みを拒否しています。正しく動作することが知られている別の画像を使用してみてくださいQt Image loaderは画像フォーマットに非常に敏感であるようです。qml_qmlcachea.qrc
コンパイルフォルダーでもう一度試してくださいQrcを使用している場合、画像がプロジェクトに追加されていることを確認してください。ソースディレクトリに置くだけでは不十分な場合があります。たとえば、私のmain.qmlは特定のディレクトリにあります。 .pngを同じディレクトリに移動します。次に、「Add Existing Files ..」を追加して、プロジェクトに.pngを追加します。私の画像には次のものがあります
source:"qrc:<same dir as main.qml>/image.png"