起動時にqrcリソースに保存された画像を読み込むことはできますが、非常に同じ画像(デモ目的のみ)を読み込もうとすると「QML画像:開くことができません:qrc: ../.... 'エラー。
イメージを繰り返しクリックすると、起動時に読み込まれた同じPNGファイルに同じエラーが返されます(エラーは発生しません)。プログラムが起動して実行されると、パスが変更されるようになります。
プログラムが実行されると、 'gray_button1.png'と 'gray_button2.png'のどちらも不明な理由で開くことはできません。
このスクリプト自体を実行しているQMLファイルは、QMLに格納されています。 qrcファイル。ここでQML画像読み込み問題
import QtQuick 2.7
Rectangle {
id: baseBtn
color: "transparent"
property string activeSource:"qrc:../Root/Images/gray_button1.png";
property string inactiveSource:"qrc:../Root/Images/gray_button2.png";
property string previousText:""
property bool active:false
onActiveChanged:{
if (active)
btnImage.source = activeSource;
else
btnImage.source = inactiveSource;
}
MouseArea{
id: mouseArea1
anchors.fill:parent
onClicked: {
active = !active;
}
Image {
id: btnImage
width:parent.width
height: parent.height
anchors.horizontalCenter: parent.horizontalCenter
source:"qrc:../Root/Images/gray_button2.png"; //opens and loads fine at start up -> appears normal
z:0
}
}
}
が(例えばQRCのXMLを含む)あなたの完全なプロジェクトを見ることができず、ファイル構造
Application
-->Root
---->Images
gray_button1.png
gray_button2.png
-->QML
qml.qrc
button.qml
...{*.qml}
私が知っているように、qrcのパスは ':/ prefix/file'です。あなたの場合、「..」は何を意味しますか?フォルダ構造を指定してください。 – folibis
なぜフォルダ構造が重要なのでしょうか?起動時にファイルが最初のパスで見つかる可能性がある場合、実行時にそれを見つけることができないのはなぜですか? – Gio