Qt项目: 图片查看器
项目简介
实现打开多张图片,左滑就能查看上一张,右滑查看下一张
别人的软件: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项目: 图片查看器相关推荐
- Qt项目实战2:图片查看器QImageViewer
在博文Qt学习笔记2:QMainWindow和QWidget的区别中介绍了使用空的Qt项目创建带有菜单栏.工具栏的界面. 这里,使用一个简单的图片查看器项目,来熟悉一下Qt的图片显示和基本操作. 该项 ...
- 【Qt+OpenCV项目开发学习】二、图片查看器应用程序开发
一.前言 本博客将讲解如何用Qt+OpenCV开发一款图片查看器的Windows应用程序,其实不用OpenCV也能开发出这类软件,作者目的是为了学习Qt+OpenCV开发项目,所以会使用OpenCV, ...
- Qt 仿QQ图片查看器
最近项目中,由于需要查看图片.看了网上写的各种图片查看器.感觉都没有QQ图片查看器那种界面好看一点.并且放大了可以移动图片.为此,想着仿QQ图片查看器自己写了一个,如图: 主要实现的功能有: 鼠标滚轮 ...
- Qt实现简单图片查看器
一.基本思路 1.使用lable标签来进行图片显示区域的选取 2.使用PushButton来实现上一张图片和下一张图片的查看,以及打开图片的按钮 二.相关操作原理 1.设置整体窗口大小 this-&g ...
- 【React组件】写一个模仿蓝湖的图片查看器
前言 最近公司让写一个可以自由拖拽放大的图片查看器,我寻思这还不简单,一顿操作猛如虎,俩小时后: 事实证明,一旦涉及到 DOM 的变换操作,如果很多细节考虑不全,抓过来就写,那基本就凉了.于是我仔细分 ...
- vue图片查看器,支持放大 缩小 还原
Vue中使用图片查看器 如何使用 项目中使用的是 vue + element-ui 要求查看图片时能够实现 图片放大缩小翻转等功能,于是找到一个适合的插件,首先看下效果: 功能与我们设想的一样,下面看 ...
- vue 实现图片查看器(仿windows图片查看器 )
自己vue项目中用到的 一个类似于windows照片查看器的功能 不使用插件 这里的核心代码是从插件中扒下来的 因为插件有点不符合我自己的使用要求 这里记录一下 //因为我这里是vue项目 图片查看是 ...
- 仿微信图片查看器入场退场动画
引子 看微信朋友圈的时候,当我们点击图片,图片会从点击的图片位置,逐渐放大,移动到正中间.退出图片查看器的时候,图片会逐渐变小,移到初始位置.对于用户来说,这是一种非常好的体验效果. 于是,自己手动撸 ...
- 给图片查看器插件Magnify新增放大镜功能
说实话Magnify图片查看器插件已经非常强大了,媲美Windows的图片查看器,但是,毕竟是开源插件,用起来简单,就是兼容性等各种bug问题.不过还好能用,自己优化一下就好. 在实际项目中,如果只是 ...
最新文章
- 谁知道静态成员的纠结心境
- 原生app跳html页面传值,HTML页面跳转及参数传递问题
- 中国首个工业云平台发布 徐工阿里华为联合打造
- 动态规划(Dynamic Programming)例题步骤详解
- SpringBoot(13)--- 数据库操作(集成MyBatis)
- 【Elasticsearch】Elasticsearch 搜索体验可量化的指标 查准率(精确率)、查全率(召回率)
- Django的应用部署
- 南沙发布全国首个智慧城市物联网大数据管理平台
- 蓝桥杯---2012--比酒量(暴力)
- java shell文件_Java 文件读写示例1
- 国产操作系统(Linux)技术流派
- 国家出手,终于不用再担心网上「​裸奔」​了!
- 不能创建对象qmdispatch_ActiveX部件不能创建对象的终极解决方案
- DongDong认亲戚 并查集+STL
- 计算机转魔方最快多少,人类最快还原魔方的极限时间是几秒?
- 睁开双眼玩立体游戏 3D显示技术解析
- python 识别汉字、数字、字母,实现半角及全角之间的转换
- 微信公众号开发,微信支付功能开发(网页JSAPI调用)
- 一个目前很火的文字转语音方法,小工具为你的视频配音
- 如何搭建Grafana
热门文章
- 6.5(二) 窗体中控件及其应用添加控件(下)
- 【图像笔记】RGB图像转灰度图像
- win10+cuda10.1+cudnn+opencv3.4.2+yolov3+vs2017安装教程
- 华三交换机irf 堆叠配置_H3C交换机堆叠的基本配置
- 【BZOJ4919】【Lydsy1706月赛】大根堆(启发式合并,DSU on tree)
- 福建2022农民丰收节 国稻种芯:主会场活动在永泰隆重举办
- The maximum number of Cell Styles was exceeded. You can define up to 64000 style in a .xlsx Workbook
- 2818 天使的起誓
- sql helper 连接mysql_C#连接MySql数据库的操作教程
- Simulink-采样时间详解