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”文件。一開始是没有的哦!问题就出如今这里!
井。关于这件事的第一!
版权声明:本文博客原创文章,博客,未经同意,不得转载。