随笔 - 0  文章 - 2  trackbacks - 0
<2014年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿

随笔分类

文章分类

文章档案

搜索

  •  

最新评论

      开始接触Qt for Android这个东西,发现很不错,将几个Qt自带的quick的demo编译了一下,成功的运行在了我的android手机上,挺好玩的。就想着用quick开发一个手机图片浏览小应用,来学习一下。先解决怎么读取SD卡图片读取的问题,就先用了一个简单的代码来实现一下显示图片:
main.qml
import QtQuick 1.1
Rectangle 
{
    width
: 480
    height: 800

    Image {
        source: "/mnt/sdcard/LoveWallpaper/save/25510-102.jpg"
        anchors.fill: parent
    
}

}
      结果没有显示图片,显示出来的只是空白:

      而且当前调试窗口里面提示说QML Image: Cannot open

      查了一下assets这个东西,发现这个东西是android专有的东西,简单来讲就是:用于存放需要打包到应用程序的静态文件,以便部署到设备中。在看了下qt fro android写出来的apk:

      它是将qt的qml文件给打包到里面进行使用了,默认的路径是从assets开始的,也就是说我那个地址被转换成
assets/mnt/sdcard/LoveWallpaper/save/25510-102.jpg,这当然找不到我sd卡里的图片了,查了些资料,要访问android文件系统里的文件得加上一个前缀file://,也就是说代码得改成如下:
import QtQuick 1.1
Rectangle 
{
    width
: 480
    height: 800

    Image {
        source: "file:///mnt/sdcard/LoveWallpaper/save/25510-102.jpg"
        anchors.fill: parent
    
}

}
      这样就能完成显示了,效果如下图:

做个笔记。
欢迎转载,不过请注明转载来源。
posted on 2013-01-22 15:12 松娃 阅读(4828) 评论(2)  编辑 收藏 引用 所属分类: Qt for Android

FeedBack:
# re: Qt for Android访问手机SD卡文件路径的问题解决办法(for necessitas alpha 4.1) 2014-05-27 21:48 liangliang1987429@163.com
我试了你说的方法,可以用,谢谢!不过picture放在手机自带内存上,程序跑不起来,有问题的。  回复  更多评论
  
# re: Qt for Android访问手机SD卡文件路径的问题解决办法(for necessitas alpha 4.1) 2014-05-28 13:11 liangliang1987429@163.com
@liangliang1987429@163.com

更正下,不是图片存储路径问题,是图片尺寸问题。对于QML 如果图片过大(1M)左右,将显示不出图片。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理