用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设计的一个图片查看器相关推荐

  1. C#制作一个图片查看器,具有滚轮放大缩小,鼠标拖动,图像像素化,显示颜色RGB信息功能

    目录 前言 一.界面设计 二.关键技术 1.把图片拖入到窗体并显示 2.实现图像缩放的功能 3.实现图像的移动效果 4.实时显示当前鼠标处的RGB值 5. 右击功能的实现 6.效果展示 总结 前言 使 ...

  2. java swing awt绘制一个图片查看器 图片显示 图片控件

    感谢 java图片查看器 的代码 java似乎没有一个名字叫图片控件的 控件,使用swing 的Label显示图片 他的代码如下: package swing.draw; import java.aw ...

  3. 【Swing】图片查看器

    实现一个图片查看器: -加载文件夹里的图片显示 -显示缩略图 -点击缩略图时显示大图 -当前图片高亮显示 package my;import java.awt.Container; import ja ...

  4. [分享]牛牛图片查看器[仿QQ图片查看器]及大致原理说明

    这是一个完全通过Duilib来实现的一个图片查看器,仿照QQ图片查看器的效果实现,希望大家喜欢. 先看一下使用的截图吧: 做相关说明如下: 一:使用说明 1. 通过命令行调用,传递图片路径即可打开图片 ...

  5. 神马笔记 版本2.10.0——图片查看器

    神马笔记 版本2.10.0--图片查看器 一.目标 二.下载地址 三.功能介绍 四.开发过程回顾 五.笔记元素一览 六.下一版本开发计划 七.新版本规划 八.历史版本回顾 九.帮助和反馈 十.Fina ...

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

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

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

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

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

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

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

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

  10. Qt 仿QQ图片查看器

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

最新文章

  1. jquery遍历json的几种方法
  2. grpc ssl使用
  3. 好了好久时间,终于写成了第一个Python代码
  4. EditPlus配置Python环境
  5. 强悍的命令行 —— 路径相关
  6. 矩阵和向量numpy
  7. C++11 关键字override和final
  8. 微信小程序 图片上传预览删除
  9. Activiti 工作流引擎 详解
  10. Python练习题(三)
  11. SpringBoot MySQL #1 报错 Error executing DDL ...
  12. ROC曲线/AUC(全)
  13. 【火车头采集教程】轻而易举学会火车头采集(附带采集案例)
  14. keycloak 自定义登录页面
  15. JSAPI支付——H5网页端调起支付接口
  16. 容器化技术Docker由入门到实战
  17. jmeter 正则表达式提取器的使用(提取第一个匹配结果)
  18. 【转】windows环境下安装win8.1+Mac OS X 10.10双系统教程
  19. 如何隐藏 MacBook Pro 上奇怪的刘海
  20. Python制作经典小游戏:推箱子

热门文章

  1. Tangent Convolutions 切面卷积(切线卷积)
  2. 植物大战僵尸修改笔记(Steam)
  3. The JSP specification requires that an attribute name is preceded by whitespace出现错误
  4. 汉诺塔游戏c语言作业,C语言实现汉诺塔游戏.pdf
  5. 【迁移学习】STL(Stratified Transfer Learning)小结
  6. 1分钟让你的App 适配 锤子OneStep
  7. 【高等数学】空间曲线积分、斯托克斯公式、参数方程
  8. GAMES101-现代计算机图形学入门
  9. vue3.0父子组件警告Extraneous non-emits event listeners (closeSetDialog) were passed to component but could
  10. 京剧猫主题曲用计算机弹奏,京剧猫电脑版