这个图片查看器功能很多,是我花了不少心思,不断优化,不断添加功能的成果:
1.能打开并显示所有常用图片格式文件,显示鼠标位置像素坐标及RGB值
2.能缩放,拖动图片,可以以鼠标为中心滚动滚轮进行缩放
3.右击可弹出菜单栏,菜单包括:适应宽度,适应窗口,原图大小,截图保存
4.实现幻灯片播放,可设置幻灯片间隔时间
5.左右方向键或者A和D键控制前后图片切换
6.记录上一次关闭窗口时,窗口的位置和大小,并在下一次打开的时候按照该位置和大小显示窗口
7.能接收拖动图片或者文件夹到本软件界面,并显示文件夹中的所有图片文件
8.增加批量重命名另存的功能
9.在适应宽度模式下,滚动滚轮可上下移动图片
10.显示鼠标位置的RGB值及坐标位置
11.可查看gif文件
12.查看gif时,右击选择gif图像自适应当前界面大小,或者显示原图
13. 双击图片或gif可直接打开本软件

代码中重写QGraphicsItem类,重新QLabel类,重写QGraphicsScene类,重写QGraphicsView类,用到了QSetting配置ini文件,用到了多线程,互斥锁,线程间数据的传递,invoke异步调用,用到的qt类有:QKeyEvent,QFileDialog,QList,QMessageBox,QImage,QGraphicsScene,QSettings,QMap,QPixmap等,很适合初学者学习。

软件界面如下:

双击图片或gif可直接打开本软件,并可拉伸界面大小,同时内部图片自适应大小,可拖动多个文件进入本软件,可按下左右键切换图片,可从jpg流畅切换到gif文件,如下:

可滚动鼠标滚轮,以鼠标所在位置为中心进行缩放拖动图片,并显示鼠标所在像素坐标及RGB值,如下:

可截图保存,截图区域可按住边框拉动变化大小,截图后可选择保存的文件格式:jpg,png,bmp,如下图:

源码连接:

qt多功能图片及动画查看工具(jpg,jpeg,png,bmp,gif)-QT文档类资源-CSDN下载

QT编写实现图片的幻灯片播放、自适应显示、缩放(以鼠标位置为中心进行缩放)、拖动、重置、显示鼠标位置像素坐标及RGB值、播放GIF动画、截图保存、批量保存、拖入文件夹遍历所有文件相关推荐

  1. C#关于文件夹遍历以及文件拷贝

    C#关于文件夹遍历以及文件拷贝 using System; using System.Collections.Generic; using System.ComponentModel; using S ...

  2. HALCON教程-初步:文件夹遍历,文件筛选,文件名拆分,图片读取及保存

    [1]文件夹遍历 list_image_files ( : : ImageDirectory, Extensions, Options : ImageFiles) ImageDirectory: 文件 ...

  3. Python递归文件夹遍历所有文件夹及文件

    第一种 : #!/usr/bin/env python # --*-- coding:UTF-8 --*--import osdef file_name(file_dir):for home, dir ...

  4. c语言mkdir创建文件夹失败,cenos mkdir 无法创建文件夹,即便文件权限为777

    Java--如何创建文件夹及文件,删除文件,文件夹 package com.zz; import java.io.File; import java.io.IOException; /** * Jav ...

  5. python根据文件名或后缀名遍历文件夹下所有文件或图片的路径,并计算文件行数

    python遍历文件夹下所有文件或图片的路径 代码 指定目录下的指定后缀文件 import glob #获取指定目录下的所有图片 print (glob.glob("\\home\\qiao ...

  6. python批量删除文件1001python批量删除文件_Python实现递归遍历文件夹并删除文件...

    思路: 遍历文件夹下面的文件夹 如果文件夹名称等于".svn",则修改文件夹的属性(因为".svn"的文件都是只读的,你不能直接删除) 删除此文件夹 如果文件夹 ...

  7. linux替换某个文件夹下所有文件,Linux 批量查找并替换文件夹下所有文件的内容...

    1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...

  8. c语言 遍历文件夹中所有文件名,C# 遍历文件夹下所有子文件夹中的文件,得到文件名...

    假设a文件夹在F盘下,代码如下.将文件名输出到一个ListBox中 using System.Data; using System.Drawing; using System.Linq; using ...

  9. 遍历文件夹下所有文件和文件夹

    1 void find(char * lpPath) { char szFind[MAX_PATH]; WIN32_FIND_DATA FindFileData; strcpy(szFind,lpPa ...

最新文章

  1. Unity3D架构之PureMVC
  2. 内存泄露从入门到精通三部曲之常见原因与用户实践
  3. python拼音怎么写-【学习】python 汉语转拼音
  4. ubuntu用php发送邮件,php – 设置ubuntu服务器发送邮件()
  5. GPS坐标转换 百度地图API调用
  6. Linux学习之CentOS(一)--CentOS6.4环境搭建
  7. Vue + Spring Boot 项目实战(五):数据库的引入
  8. Linux系统特点介绍集合
  9. vba 指定列后插入列_Vba代码插入指定数量的空白行
  10. Delphi6及SqlServer对于生僻字䶮的支持测试
  11. NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序
  12. STL 标准容器的选择
  13. 阿里云推出全球云网络人才赋能计划,打造云网络认证体系
  14. WeCenter 文件目录结构
  15. mysql创建视图并加注释_在mysql中为视图创建注释
  16. 2023云南大学计算机考研信息汇总
  17. 微信开发getPhoneNumber报错“errcode“:41001,“errmsg“:“access_token missing rid
  18. oracle中numeric是什么类型,numeric
  19. Hi3516DV300
  20. 禀赋效应还是锚定效应

热门文章

  1. 【洛谷 4994】终于结束的起点
  2. 使用css排版推特上的星星爆炸效果。
  3. OPenCV 图像拼接之------stitching和stitching_detailed
  4. 深度学习框架人脸识别介绍
  5. Springclould D3 RabbitMQ消息队列
  6. linux 管道符、特殊符号
  7. 联想yoga710评测_【联想YOGA710评测】触控窄边360°翻转应有尽有-中关村在线
  8. Pytorch简单实现BiLSTM文本生成
  9. 一次ORA-00600问题的排查和分析(下)(r5笔记第65天)
  10. 物理机上架设云服务器