使用QPainter制作一个简易的相册

PlayImage

记得一键三连哦

  • 一个使用简单的QPainter绘图事件实现图片播放器的简易demo
  • 支持图片切换
  • 支持多路更新,自己扩展即可
  • 支持幻灯片播放
  • PlayImage自定义控件支持复用,对外提供updateImage和updatePixmap接口,对传入的image和pixmap进行图片更新
  • PlayImage控件支持多线程调用

遗留问题

  • 图片分辨率太低
  • 测试次数少,及其简易的学习demo

项目代码

MyDemo文件夹下的PlayImage

项目警告

  • 注:博主本人学习过程的分享,引用他人的文章皆会标注原作者
  • 注:本人文章非盈利性质,若有侵权请联系我删除
  • 注:联系方式Q:2950319782
  • 注:博主本人很菜,文章基本是二次创作,大佬请忽略我的随笔
  • 注:我会一步步分享实现的细节,若仍有问题联系我

项目引用

问题解决

开发环境

  • 系统:Win10
  • Qt:5.14.2
  • 编译器:qtcreator 4.11.1, minGW64
  • ffmpeg: 5.12

实现功能

  • 支持打开多种格式的图片

实现逻辑

项目实现

项目结构

项目思路

  • 要制作一款图像显示器的桌面软件,那么要先能把图片文件传入进来
  • 图片文件不可能是单一图像文件,也不可能是单个图片类型的文件,这里我们使用QFileDialog中的getOpenFileNames函数来获取图像文件路径的列表
  • 使用QStringList保存图像文件路径
  • 当加载出来图片的时候,页面默认显示第一张图片,只需要在选择图片的槽函数里,调用PlayImage的updatePixmap函数,把第一张图片的地址传入进去
  • 需要封装一个图片地址转QPixmap的函数
  • 下面来实现切换图片,需要维持一个图片索引值,默认从0开始
  • 先处理向后切换,为方便确定图片的索引,再维持一个图片总数值,再使用取余前后求图片索引值
  • 最后处理幻灯片自动向后播放的功能,再未点击开始播放前,停止播放应该不能被点击,设置一下属性,控制是否播放设置标志为Play,默认为true
  • 要延迟一会发送更新的信号,封装一个阻塞函数sleepMsec
相关推荐
CHANG_THE_WORLD4 小时前
C语言中的 %*s 和 %.*s 和C++的字符串格式化输出
c语言·c++·c#
螺丝钉的扭矩一瞬间产生高能蛋白5 小时前
QT的C++接口基础用法
c++·qt·嵌入式软件·嵌入式linux·linux应用
智者知已应修善业5 小时前
【51单片机模拟生日蜡烛】2023-10-10
c++·经验分享·笔记·算法·51单片机
智者知已应修善业5 小时前
【51单片机如何让LED灯从一亮到八,再从八亮到一】2023-10-13
c++·经验分享·笔记·算法·51单片机
qeen875 小时前
【数据结构】二叉树相关经典函数C语言实现
c语言·数据结构·c++·笔记·学习·算法·二叉树
良木生香6 小时前
【C++初阶】STL——List从入门到应用完全指南(1)
开发语言·数据结构·c++·程序人生·算法·蓝桥杯·学习方法
aqiu1111116 小时前
【并查集专题top】
c++·算法
会周易的程序员6 小时前
aiDgeScanner 工业设备网络扫描与管理工具
网络·c++·物联网·架构·electron·node.js·iot
叼烟扛炮7 小时前
C++ 知识点17 友元
开发语言·c++·算法·友员