QmlでImageが画像をロードしてから異なるプラットフォームをロードする方法

786 ワード

今日QMLでImageでwinシステム下のローカルパス画像をロードしたとき、
絶対パスやfile://+pathを付けても開かないことに気づいたら、おかしいです.
調べてみると、システムごとにロード方法が異なり、
winシステム:
Image {
      id:  previewImage
      anchors.fill: parent
      source: "file:///"+"C:/Desert.jpg"
      fillMode: Image.PreserveAspectCrop
}

絶対パスの前に「file:////」の下線を3つ付けないとロードできません
linuxシステムとアンドロイドシステム:
この2つのシステムは同じパスです:“file://”+path
 Image {
            id:  previewImage
            anchors.fill: parent
            source: "file://" +"/storage/emulated/0/Tencent/QQfile_recv/AAAEDED.png"
            fillMode: Image.PreserveAspectCrop
        }

絶対パスの前に「file://」の下線を2つ付けないとロードエラーが表示されません
リソース環境のロード:
再QMLのロードリソース環境はqtC++のロードとは異なり、プレフィックスを付けない:qrc://