在資源文件中的代碼可省略qrc:// ?支持資源文件目錄的相對路徑表示法 ?
在可執(zhí)行文件中的代碼可省略file:// ? 支持文件目錄的相對路徑表示法
QtQuick中,若qml文件在資源中,訪問其他資源文件可以省略’qrc:’
???Image?{ ????????????id:?img ????????????width:?200 ????????????height:?200 ????????????source:"1.png"??//訪問qrc中的1.png ????????} ?等同于: ???Image?{ ????????????id:?img ????????????width:?200 ????????????height:?200 ????????????source:?"qrc:/1.png"?//訪問qrc中的1.png ????????}
QtQuick中,訪問外部文件夾,加上file:// ?并且是絕對路徑!
//訪問內(nèi)部存儲文件夾?org.qtproject.xml為安卓中本程序的包名 source="file:///data/data/org.qtproject.xml/files/test2.jpg"; //訪問SD卡 source="file:///mnt/sdcard/test1.jpg";
C++中,訪問外部文件夾
//?訪問內(nèi)部存儲?org.qtproject.xml為安卓中本程序的包名 "/data/data/org.qtproject.xml/files/test2.jpg" //訪問SD卡 source="/mnt/sdcard/test1.jpg";
安卓中當(dāng)前路徑為內(nèi)部存儲文件夾,因此獲取文件夾絕對路徑只需要知道當(dāng)前路徑
QDir?dir; ????qDebug()<<dir.currentPath(); ????//輸出:"/data/data/org.qtproject.xml/files"
部分類支持安卓語法的目錄 已知的有 ini操作 和 webview,:
"file:///android_asset/info.ini" "file:///android_asset/index.html"
使用Qt和QtQuick混合編程,C++提供路徑給QtQuick:
????Image?{ ????????????id:?getbinimg ????????????width:?200 ????????????height:?200 ????????} ????????...... ????????... ????????myapp.savebin(x.responseText,"test2.jpg");//調(diào)用C++保存jpg?此處C++在可執(zhí)行文件中?用相對路徑即可 ????????//把保存的文件顯示到image中?此處是qml文件 ????????getbinimg.source="file:///"+myapp.dir+"/test2.jpg";
myapp:
#ifndef?QMLCLASS_H #define?QMLCLASS_H #include#includeclass?QmlClass?:?public?QObject { ????Q_OBJECT ????Q_PROPERTY(QString?dir?READ?getdir?) public: ????explicit?QmlClass(QObject?*parent?=?0); ????QString?getdir() ????{ ????????return?QDir::currentPath(); ????}? signals: public?slots: }; #endif?//?QMLCLASS_H