当前位置:首页 > 芯闻号 > 充电吧
[导读]在资源文件中的代码可省略qrc://  支持资源文件目录的相对路径表示法   在可执行文件中的代码可省略file://   支持文件目录的相对路径表示法 QtQuick中,若qml文件在资源中,访问其


在资源文件中的代码可省略qrc://  支持资源文件目录的相对路径表示法  
在可执行文件中的代码可省略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://  并且是绝对路径!


//访问内部存储文件夹 org.qtproject.xml为安卓中本程序的包名
source="file:///data/data/org.qtproject.xml/files/test2.jpg";
//访问SD卡
source="file:///mnt/sdcard/test1.jpg";


C++中,访问外部文件夹


// 访问内部存储 org.qtproject.xml为安卓中本程序的包名
"/data/data/org.qtproject.xml/files/test2.jpg"
//访问SD卡
source="/mnt/sdcard/test1.jpg";


安卓中当前路径为内部存储文件夹,因此获取文件夹绝对路径只需要知道当前路径


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");//调用C++保存jpg 此处C++在可执行文件中 用相对路径即可
        //把保存的文件显示到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
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭