概述

用QML来做一个Android手机上的相册浏览软件,支持相册列表展示,相册中相片列表展示,以及点击相片过后可以进行浏览。类似于android手机的相册功能,还支持在浏览大图时进行两指缩放,左右切换浏览。

正文

本示例主要为了提供一个思路,使用Qt进行相片展示。
目前代码还在完善中,还处于一个粗糙的demo,就不进行代码展示了。
先来看一下实际的效果:

打开软件后直接是相册列表展示:

点击某一个相册后打开:

再点击某一张相片后进行大图浏览

支持两指缩放和左右滑动:

关键分析

要实现这个功能,需要考虑到几个关键因素:

获取图片信息

通过Android原生接口,可以直接获取到手机中所有包含相片的文件夹的信息,包括相册的路径,将信息解析(相册封面、数量、名称)过后传到QML端。

QML端实现

只要拿到相册数据后,接下来就只要展示就好了,这里用到的关键的QML控件有:

  • 相册列表:ListView
  • 相片列表:GridView
  • 相片大图浏览:ListView
  • 相片缩放:PinchArea
  • 相册中相片解析:FolderListModel

等待后期代码相对完善后再进行上传。

Qt QML 实现Android相册展示相关推荐

  1. QML学习系列-Qt QML是什么?

    Qt QML是一个用于创建用户界面(UI)和应用程序逻辑的声明性语言.它是Qt框架的一部分,用于开发跨平台的应用程序,可运行于Windows.MacOS.Linux.Android.iOS等平台上. ...

  2. QML for Android 实现二维码扫描(QZXing)

    前言 由于项目要求,需要用 Qt 做一个Android 程序用于扫描二维码并获取扫码内容,之前参考了很多资料,很多都是基于桌面端的二维码识别,如一去丶二三里大神的Qt之二维码扫描,原理是直接导入一张二 ...

  3. QML on Android 在小米5s手机上中文字体显示异常

    前言 随着Qt版本的不断升级,用QML开发Android移动端应用越来越方便,并且支持的功能也逐渐增多,不过由于Android机型实在太多,并且大部分Android系统都是由手机厂商深度定制过,然后在 ...

  4. QML调用Android摄像头,并将每一帧传入C++进行处理(QML 对象,转化为C++对象)

    第一步:搭建好Qt for Android 开发环境 搭建环境参考:Qt for Android 环境搭建 第二步,创建Qt工程 注意选择创建Qt Quick工程 .pro文件中加入模块: QT += ...

  5. Unity 录屏截屏到Android相册,支持鸿蒙

    Unity截屏保存到Android相册 Unity端截屏代码 Unity需要的Android Jar及Java代码(由于之前是找的一个Jar库因不支持鸿蒙所以自己动手二次开发的Java调用库) Uni ...

  6. python3d相册源代码_js和CSS3炫酷3D相册展示

    js和CSS3炫酷3D相册展示 *{margin:0;padding:0;} body{background:url(img/bg.jpg);width:100%;height:100%;overfl ...

  7. Qt/C++ 开发Android平台《林中伊人》消球小游戏全记录1——独立游戏设计的伊始

    从搭建Qt for Android的开发环境,到写代码.做贴图,再到最后游戏的发布,前后利用业余时间忙了也算有1个多月,通过制作<林中伊人>确实收获了不少好东西,特地在这里跟大家分享一下. ...

  8. 获取Android相册图片

    获取Android相册图片 一.获取系统权限 首先我们需要在AndroidManifest中声明权限: ```java<uses-permission android:name="an ...

  9. qt qml 高德地图--WebAPI 获取静态地图

    高德地图提供了很多Web API,本文展示如何使用Qt + qml 获取静态地图 静态地图Web API https://lbs.amap.com/api/webservice/guide/api/s ...

最新文章

  1. 【JavaScript】实现将从Excel中复制的数据粘贴到WEB页面Grid中
  2. Android内存泄漏总结
  3. TikZ学习笔记(一) 基本图形
  4. android显示字符串,Android自定义View用切图显示字符串
  5. Siri背后语音识别巨头Nuance的衰落
  6. jQuery.Validate.js验证大表单的优化
  7. 这是阿里人手机里,这一年最舍不得删的照片
  8. jquery 原生控件 超大文件分片校验上传 易迁移 webuploader springboot
  9. Matlab之数据归一化函数——mapminmax()
  10. 使用css画出一条虚线
  11. 执行mvn clean报错Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could
  12. 《功夫熊猫》的人生启示
  13. 用python完成选股策略_python量化选股策略_量化股市
  14. 华为交换机升级包及补丁验证完整性
  15. 免费U盘文件恢复,你不知道的10款u盘恢复软件
  16. 雨林木风 linux操作系统,“雨林木风”操作系统门户正式上线
  17. 揭秘阿里VR电商购物
  18. leetcode 14天刷题计划-算法入门(共计31题)
  19. latex数学符号加粗_LaTeX技巧458:关于LaTeX数学字体加粗
  20. 【2013Esri中国用户大会】商业智能位置分析之Esri Maps for Cognos

热门文章

  1. 网络编程懒人入门(二):快速理解网络通信协议(下篇)
  2. 视频质量评价方法简介
  3. 理解webpack原理,手写一个100行的webpack
  4. centos 安装配置ftp服务器
  5. C#基础篇三流程控制2
  6. ASP.NET MVC Model绑定(四)
  7. DR模式下的mysql (abb读写分离)
  8. github上关于机器学习的awesome项目(资源大全)
  9. python--pandas 分位数
  10. 视觉盛宴篇!推荐 12 个好用的 CSS 的开源项目,YYDS !