QML Image得到的图片资源路径的详细信息

最近又开始了Qt5。在学习QML当地的资源总是越来越留念类似 “ QML Image: Cannot open: qrc:///images/Blue hills.jpg ”的错误,即无法正常加载本地的图片资源,经过一般努力,最终搞定拉!

特此记录下来。方便自己和各位同仁查询!

參考:http://mobile.51cto.com/symbian-261878.htm

 

一開始遇到问题的时候在网上搜索了些久都没成功解决这个问题,只是倒是有些启示。比方在上面网址看到的资料中就多少有些体会。

在这里先贴出本人的小样例:

Rectangle {
    id: rec
    width: 800
    height: 600
    opacity: 1

    Image {
        id: image1
        source: "images/Blue hills.jpg"

        Image {
            id: image2
            width: 256
            height: 256
            source: "images/cute_colorful_qq_01.png"
        }
    }
}


若正常显示的话,会出现下面的效果:

可是本人一開始測试的时候。程序执行的效果都是一片空白,并且还总是出现 “ QML Image: Cannot open: qrc:///images/Blue hills.jpg ” 的错误,尽管程序能够正常执行!

 

一開始本人还以为是路径的问题。依据网上的非常多资料页时这么说的,后来ijiu不断的改动路径參数,唉!

无论俺怎么改动都不能把图片显示出来。后来怀疑是Qt的Bug。可是本人有測试了一下载入远端的图片,即网络上的图片。如一下代码:

    width: 800
    height: 600
    opacity: 1

    Image {
        id: image1
        source: "http://192.168.13.219/images/Blue hills.jpg"
    }
}


以上 source 后面的网址是本人在自己的电脑上面搭载的server的路径下的图片,读者也能够自己链接到网络上的其它图片链接!这样都能够正常显示呀。例如以下图:

 

由此看来不是Qt的问题,那就是俺自个的问题咯,再继续摸索!

这里注意一下,以下是俺的project路径,图片资源也在这个路径以下:

 

后来俺猜想,会不会是“ qml.qrc ”这个资源文件出问题了呢,把它打开一看:内容例如以下:

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
    </qresource>
</RCC>

嗯。好像真的有点问题,由于依照常规,*.qrc这个资源文件是有记录图片资源的路径信息的。但这里没有,于是本人自己手动改动为下面这样:

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
        <file>images/Blue hills.jpg</file>
        <file>images/cute_colorful_qq_01.png</file>
        <file>images/Sunset.jpg</file>
    </qresource>
</RCC>


然后又一次编译执行,这是令人激动的时刻到来啦,最终成功显示了我们的图片啦!哈哈!

 

这里提醒一下,我们事实上也能够不用自己手动更改 *.qrc 文件,直接在 QtCreator 的项目project里面把图片资源加载进去即可拉。例如以下图所看到的:

 

大家看到了吗,就是上面红色方框圈出来的几张图片,须要自己手动把它们加入到project中去。这样就会自己主动改动 “*.qrc”文件。一開始是没有的哦!问题就出如今这里!

 

井。关于这件事的第一!

版权声明:本文博客原创文章,博客,未经同意,不得转载。

posted @ 2015-07-15 15:41  mengfanrong  阅读(8677)  评论(0编辑  收藏  举报