项目简介

实现打开多张图片,左滑就能查看上一张,右滑查看下一张

别人的软件:HD看图

咱的效果

QT Ui

  • 显示图片区域是一个 label
  • 左右箭头是一个 pushButton 查看上一张 下一张图片的
  • 中间的单行文本框(lineEdit)显示图片路径
  • 选择图片:单击打开文件对话框选择多张图片

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QDebug>
#include <QString>
#include <QFileDialog>
#include <QStringList>
namespace Ui {class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();private slots://可以单击按钮 右键转到槽  除非你名字跟我一样void on_selectImg_clicked();void on_preimg_clicked();void on_nextimg_clicked();private:Ui::Widget *ui;QPixmap pixMap;     //图片对象QStringList filenameList;   //图片列表int imgLength;  //图片张数int index_img;  //当前图片下标
};#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);imgLength = 0;index_img = 0;ui->imageBox->setScaledContents(true);  //图片自适应
}Widget::~Widget()
{delete ui;
}void Widget::on_selectImg_clicked()
{filenameList =  QFileDialog::getOpenFileNames(this,"打开多张图片","F:/images","Images (*.png *.xpm *.jpg *.png);;");imgLength = filenameList.length();QString filename = filenameList.at(index_img);pixMap.load(filename);ui->imageBox->setPixmap(pixMap);ui->path->setText(filename);qDebug()<<"length: "<<imgLength;
}void Widget::on_preimg_clicked()
{index_img--;if(filenameList.isEmpty()) return;//显示上一张图片if(index_img < 0){index_img = imgLength - 1;}//qDebug()<<"index: "<<index_img;QString filename = filenameList.at(index_img);pixMap.load(filename);ui->imageBox->setPixmap(pixMap);ui->path->setText(filename);}void Widget::on_nextimg_clicked()
{//显示下一张图片if(filenameList.isEmpty()) return;if(index_img > imgLength-1){index_img = 0;}QString filename = filenameList.at(index_img);pixMap.load(filename);ui->imageBox->setPixmap(pixMap);ui->path->setText(filename);index_img++;
}

总结

相应了三个按钮的事件,一个是可以打开多张图片的文件对话框,另外两个是查看上一张和下一张图片

打开多张图片的文件对话框

#include <QString>
#include <QFileDialog>
#include <QStringList>filenameList =  QFileDialog::getOpenFileNames(this,"打开多张图片","F:/images","Images (*.png *.xpm *.jpg *.png);;");
/*getOpenFileNames 参数widget对象  对话框标题  打开的文件目录   文件过滤器(这里是图片)
*/

Qt项目: 图片查看器相关推荐

  1. Qt项目实战2:图片查看器QImageViewer

    在博文Qt学习笔记2:QMainWindow和QWidget的区别中介绍了使用空的Qt项目创建带有菜单栏.工具栏的界面. 这里,使用一个简单的图片查看器项目,来熟悉一下Qt的图片显示和基本操作. 该项 ...

  2. 【Qt+OpenCV项目开发学习】二、图片查看器应用程序开发

    一.前言 本博客将讲解如何用Qt+OpenCV开发一款图片查看器的Windows应用程序,其实不用OpenCV也能开发出这类软件,作者目的是为了学习Qt+OpenCV开发项目,所以会使用OpenCV, ...

  3. Qt 仿QQ图片查看器

    最近项目中,由于需要查看图片.看了网上写的各种图片查看器.感觉都没有QQ图片查看器那种界面好看一点.并且放大了可以移动图片.为此,想着仿QQ图片查看器自己写了一个,如图: 主要实现的功能有: 鼠标滚轮 ...

  4. Qt实现简单图片查看器

    一.基本思路 1.使用lable标签来进行图片显示区域的选取 2.使用PushButton来实现上一张图片和下一张图片的查看,以及打开图片的按钮 二.相关操作原理 1.设置整体窗口大小 this-&g ...

  5. 【React组件】写一个模仿蓝湖的图片查看器

    前言 最近公司让写一个可以自由拖拽放大的图片查看器,我寻思这还不简单,一顿操作猛如虎,俩小时后: 事实证明,一旦涉及到 DOM 的变换操作,如果很多细节考虑不全,抓过来就写,那基本就凉了.于是我仔细分 ...

  6. vue图片查看器,支持放大 缩小 还原

    Vue中使用图片查看器 如何使用 项目中使用的是 vue + element-ui 要求查看图片时能够实现 图片放大缩小翻转等功能,于是找到一个适合的插件,首先看下效果: 功能与我们设想的一样,下面看 ...

  7. vue 实现图片查看器(仿windows图片查看器 )

    自己vue项目中用到的 一个类似于windows照片查看器的功能 不使用插件 这里的核心代码是从插件中扒下来的 因为插件有点不符合我自己的使用要求 这里记录一下 //因为我这里是vue项目 图片查看是 ...

  8. 仿微信图片查看器入场退场动画

    引子 看微信朋友圈的时候,当我们点击图片,图片会从点击的图片位置,逐渐放大,移动到正中间.退出图片查看器的时候,图片会逐渐变小,移到初始位置.对于用户来说,这是一种非常好的体验效果. 于是,自己手动撸 ...

  9. 给图片查看器插件Magnify新增放大镜功能

    说实话Magnify图片查看器插件已经非常强大了,媲美Windows的图片查看器,但是,毕竟是开源插件,用起来简单,就是兼容性等各种bug问题.不过还好能用,自己优化一下就好. 在实际项目中,如果只是 ...

最新文章

  1. 谁知道静态成员的纠结心境
  2. 原生app跳html页面传值,HTML页面跳转及参数传递问题
  3. 中国首个工业云平台发布 徐工阿里华为联合打造
  4. 动态规划(Dynamic Programming)例题步骤详解
  5. SpringBoot(13)--- 数据库操作(集成MyBatis)
  6. 【Elasticsearch】Elasticsearch 搜索体验可量化的指标 查准率(精确率)、查全率(召回率)
  7. Django的应用部署
  8. 南沙发布全国首个智慧城市物联网大数据管理平台
  9. 蓝桥杯---2012--比酒量(暴力)
  10. java shell文件_Java 文件读写示例1
  11. 国产操作系统(Linux)技术流派
  12. 国家出手,终于不用再担心网上「​裸奔」​了!
  13. 不能创建对象qmdispatch_ActiveX部件不能创建对象的终极解决方案
  14. DongDong认亲戚 并查集+STL
  15. 计算机转魔方最快多少,人类最快还原魔方的极限时间是几秒?
  16. 睁开双眼玩立体游戏 3D显示技术解析
  17. python 识别汉字、数字、字母,实现半角及全角之间的转换
  18. 微信公众号开发,微信支付功能开发(网页JSAPI调用)
  19. 一个目前很火的文字转语音方法,小工具为你的视频配音
  20. 如何搭建Grafana

热门文章

  1. 6.5(二) 窗体中控件及其应用添加控件(下)
  2. 【图像笔记】RGB图像转灰度图像
  3. win10+cuda10.1+cudnn+opencv3.4.2+yolov3+vs2017安装教程
  4. 华三交换机irf 堆叠配置_H3C交换机堆叠的基本配置
  5. 【BZOJ4919】【Lydsy1706月赛】大根堆(启发式合并,DSU on tree)
  6. 福建2022农民丰收节 国稻种芯:主会场活动在永泰隆重举办
  7. The maximum number of Cell Styles was exceeded. You can define up to 64000 style in a .xlsx Workbook
  8. 2818 天使的起誓
  9. sql helper 连接mysql_C#连接MySql数据库的操作教程
  10. Simulink-采样时间详解