3

複数のファイルを含むプロジェクトがありQMLます。それらはすべてリソースファイル内にあります。ここで、ローカル ファイル システムから外部イメージをロードします。しかし、私はそれを行う方法を見つけることができません。

Image {
    source: "images/image.png" // that tries to load file as 'qrc:/images/image.png'
    source: "file://images/image.png" // that does not work (file not found)
}

だから今、私は少し混乱しています.どうすればファイルを正しい方法でロードできますか?

4

2 に答える 2

5

QML エンジンは、Qt リソース システムに保存されている QML ファイルでアドレス指定された相対パスがそのリソース ファイル内で解決されると想定しています。したがって、QML ファイルがリソース内にあり、アプリケーション ディレクトリ パス内のファイルにアクセスする場合は、 c++ からパスを設定する必要があります。

engine.rootContext()->setContextProperty("applicationPath", "file://"+qApp->applicationDirPath()+ "/");

これで、QML でファイルをアドレス指定できます。

Image {
    source: applicationPath + "images/image.png"
}
于 2015-02-07T08:59:00.170 に答える