Qt设计的一个图片查看器
用qt设计的一个图片查看器
- 所实现的结果如下:
- 主要是使用拖放事件:QDragEnterEvent/QDropEvent
- 类为QMimeData
- 具体实现如下:
所实现的结果如下:
主要是使用拖放事件:QDragEnterEvent/QDropEvent
类为QMimeData
具体实现如下:
类的定义:
class Widget : public QWidget
{Q_OBJECT
private:QLabel* label;QPixmap pixmap;
public:Widget(QWidget *parent = 0);~Widget();protected:void dragEnterEvent(QDragEnterEvent* event);void dropEvent(QDropEvent* event);void resizeEvent(QResizeEvent* event);
};
这里主要定义图片处理QPixmap类和图片显示的QLabel类。
对dragEnterEvent进行了重新如下:
void Widget::dragEnterEvent(QDragEnterEvent *event)
{QStringList accepted_file_types;accepted_file_types.append("jpg");accepted_file_types.append("png");accepted_file_types.append("bmp");//检测拖到对象是否是文件,并且是否是单个文件if((event->mimeData()->hasUrls()) && (event->mimeData()->urls().count() == 1)){QFileInfo file_info(event->mimeData()->urls().at(0).toLocalFile());//检测后缀名是否正确if(accepted_file_types.contains(file_info.suffix().toLower())){event->acceptProposedAction();}}
}
函数功能指明该程序只能显示三种图片类型,分别为jpg/png/bmp.
而且拖到的对象只能是单一文件,否则无法正常显示。
对dropEvent进行重写:
void Widget::dropEvent(QDropEvent *event)
{QFileInfo file_info(event->mimeData()->urls().at(0).toLocalFile());if(pixmap.load(file_info.absoluteFilePath())){label->setPixmap(pixmap.scaled(label->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation));}else{QMessageBox::critical(this, tr("error"), tr("The image file cannot be read!"));}
}
拖放后,通过QLabel类将图片显示出来。
Qt设计的一个图片查看器相关推荐
- C#制作一个图片查看器,具有滚轮放大缩小,鼠标拖动,图像像素化,显示颜色RGB信息功能
目录 前言 一.界面设计 二.关键技术 1.把图片拖入到窗体并显示 2.实现图像缩放的功能 3.实现图像的移动效果 4.实时显示当前鼠标处的RGB值 5. 右击功能的实现 6.效果展示 总结 前言 使 ...
- java swing awt绘制一个图片查看器 图片显示 图片控件
感谢 java图片查看器 的代码 java似乎没有一个名字叫图片控件的 控件,使用swing 的Label显示图片 他的代码如下: package swing.draw; import java.aw ...
- 【Swing】图片查看器
实现一个图片查看器: -加载文件夹里的图片显示 -显示缩略图 -点击缩略图时显示大图 -当前图片高亮显示 package my;import java.awt.Container; import ja ...
- [分享]牛牛图片查看器[仿QQ图片查看器]及大致原理说明
这是一个完全通过Duilib来实现的一个图片查看器,仿照QQ图片查看器的效果实现,希望大家喜欢. 先看一下使用的截图吧: 做相关说明如下: 一:使用说明 1. 通过命令行调用,传递图片路径即可打开图片 ...
- 神马笔记 版本2.10.0——图片查看器
神马笔记 版本2.10.0--图片查看器 一.目标 二.下载地址 三.功能介绍 四.开发过程回顾 五.笔记元素一览 六.下一版本开发计划 七.新版本规划 八.历史版本回顾 九.帮助和反馈 十.Fina ...
- Qt实现简单图片查看器
一.基本思路 1.使用lable标签来进行图片显示区域的选取 2.使用PushButton来实现上一张图片和下一张图片的查看,以及打开图片的按钮 二.相关操作原理 1.设置整体窗口大小 this-&g ...
- 【Qt+OpenCV项目开发学习】二、图片查看器应用程序开发
一.前言 本博客将讲解如何用Qt+OpenCV开发一款图片查看器的Windows应用程序,其实不用OpenCV也能开发出这类软件,作者目的是为了学习Qt+OpenCV开发项目,所以会使用OpenCV, ...
- 【React组件】写一个模仿蓝湖的图片查看器
前言 最近公司让写一个可以自由拖拽放大的图片查看器,我寻思这还不简单,一顿操作猛如虎,俩小时后: 事实证明,一旦涉及到 DOM 的变换操作,如果很多细节考虑不全,抓过来就写,那基本就凉了.于是我仔细分 ...
- Qt项目实战2:图片查看器QImageViewer
在博文Qt学习笔记2:QMainWindow和QWidget的区别中介绍了使用空的Qt项目创建带有菜单栏.工具栏的界面. 这里,使用一个简单的图片查看器项目,来熟悉一下Qt的图片显示和基本操作. 该项 ...
- Qt 仿QQ图片查看器
最近项目中,由于需要查看图片.看了网上写的各种图片查看器.感觉都没有QQ图片查看器那种界面好看一点.并且放大了可以移动图片.为此,想着仿QQ图片查看器自己写了一个,如图: 主要实现的功能有: 鼠标滚轮 ...
最新文章
- jquery遍历json的几种方法
- grpc ssl使用
- 好了好久时间,终于写成了第一个Python代码
- EditPlus配置Python环境
- 强悍的命令行 —— 路径相关
- 矩阵和向量numpy
- C++11 关键字override和final
- 微信小程序 图片上传预览删除
- Activiti 工作流引擎 详解
- Python练习题(三)
- SpringBoot MySQL #1 报错 Error executing DDL ...
- ROC曲线/AUC(全)
- 【火车头采集教程】轻而易举学会火车头采集(附带采集案例)
- keycloak 自定义登录页面
- JSAPI支付——H5网页端调起支付接口
- 容器化技术Docker由入门到实战
- jmeter 正则表达式提取器的使用(提取第一个匹配结果)
- 【转】windows环境下安装win8.1+Mac OS X 10.10双系统教程
- 如何隐藏 MacBook Pro 上奇怪的刘海
- Python制作经典小游戏:推箱子
热门文章
- Tangent Convolutions 切面卷积(切线卷积)
- 植物大战僵尸修改笔记(Steam)
- The JSP specification requires that an attribute name is preceded by whitespace出现错误
- 汉诺塔游戏c语言作业,C语言实现汉诺塔游戏.pdf
- 【迁移学习】STL(Stratified Transfer Learning)小结
- 1分钟让你的App 适配 锤子OneStep
- 【高等数学】空间曲线积分、斯托克斯公式、参数方程
- GAMES101-现代计算机图形学入门
- vue3.0父子组件警告Extraneous non-emits event listeners (closeSetDialog) were passed to component but could
- 京剧猫主题曲用计算机弹奏,京剧猫电脑版