在Qt中处理图片一般都要用到QImage类,但是QImage的对象不能够直接显示出来,要想能看到图片,初步发现有两种方法。

一、QImage转QPixmap,然后用QLabel::setPixmap()

image=new QImage("D:/Temp/XX.jpg");

pixmap=newQPixmap();
pixmap->convertFromImage(*image);
label=newQLabel(this);
label->setGeometry(100,0,1000,700);
label->setPixmap(*pixmap);
二、在paintEvent()中直接画
void MyWindow::paintEvent(QPaintEvent*)
{
QPainter paint(this);
paint.drawImage(0,0,*image);
}
    有两种方法,就有比较。经过试验发现,第一种方法效率更高,虽然代码开起来多了,但是经过优化用于显示的QPixmap能够体现出其优势。同样显示一幅1200*1600的图片,第一种方法几乎不需要时间,用毫秒计时显示为0,而第二种方法需要15ms,在需要大量运算的地方,15ms的差距区别可是相当大的。

转载于:https://www.cnblogs.com/huty/p/8518255.html

【Qt开发】Qt中显示图像的两种方法对比相关推荐

  1. Wordpress开发 - 获取作者头像的两种方法

    写在前面 今天又被一个头像坑搞惨了,一般我们获取作者的信息是都需要在循环判断中才可以使用的!比如获取作者名称 <?php the_author(); ?> .如果没有在 <?php ...

  2. ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练)

    ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练) 目录 模型训练评估中常用的两种方法代码实现 T1.留一法一次性切分训练 T2.K折交叉验证训 模型训练评估中 ...

  3. JSP中include的两种方法

      一.JSP中include的两种方法 1.include指令: 1 <%@include file="文件的绝对路径或者相对路径"%> file属性是必填的(绝对或 ...

  4. Redis中持久化的两种方法详解

    Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里;另一种方法教只追加文件(append-only f ...

  5. unity 2D游戏开发 制作帧动画的两种方法

    本小主在这里给大家分享一下unity 2D游戏开发中制作帧动画的两种方法. 比较简单,一学即会. 方法一: 是用代码控制: 先创建一个2D工程.导入图片资源,并设置texture的texture ty ...

  6. MATLAB中代码优化的两种方法

    MATLAB中的代码优化 MATLAB中的代码优化有两种重要的方法:预分配组和向量化循环. 我们举一个简单的例子来看,创建一个MATLAB函数来计算f(x) = sin(x / 100π): func ...

  7. 提取pdf文件中文字的两种方法

    如今,在我们的工作与学习中已经不是单单使用word.Excel等格式文件了,pdf格式的文件已经被广泛地运用到我们的办公室中.大家都知道pdf文件是不可直接编辑与修改的,使用起来有些不便.那么当我们需 ...

  8. C++读取txt中数据的两种方法

    有时候,在程序编写过程中涉及到数据的读写,比如读入.txt文档中的数字,本文提供两种读入方法. 一.利用数据流 比如.txt中数据是如下格式: 其中第一行代表有多少个二维数组,本例中是有3个二维数组, ...

  9. jsp中实现文件下载   两种方法

    jsp中实现文件下载             转自:http://aguu125.iteye.com/blog/352314 (一) 最简单的方式是在网页上做超级链接,如:<a href=&qu ...

  10. 在C++中响铃的两种方法

    第一种方法:printf("\a"); 第二种方法:char c=7;cout<<c; 注:在ASCII码表中响铃的字符编码是7. 响铃病毒: #include< ...

最新文章

  1. cpu满了卡住 linux_Linux系统中CPU占用率较高问题排查思路与解决方法
  2. Struts 2中#、%和$符号的相应用途
  3. 文档注释快捷键_自学PS:图像添加注释有什么用?如何显示或隐藏额外内容?...
  4. [END_OBJECT] but found [FIELD_NAME]')
  5. struts2教程(4)--类型转换
  6. virsh KVM管理工具
  7. [C#] Socket 通讯,一个简单的聊天窗口小程序
  8. hash和trie的对比
  9. J2EE后台UI系统框架搭建-EXTJs使用(4.1 GPL版本)
  10. GridView Bind 短日期 格式
  11. 计算机电路板工作原理,PCB电路板测试仪的组成及测试原理.
  12. ubuntu学习日记--Lesson5:系统目录详解
  13. 黑马程序员最新Python教程——第一阶段(3)第二阶段(1)
  14. 学习电商的第一个业务,发票管理,发票作废(发票作废为重)
  15. Linux命令对应的英文及整体学习法
  16. 如何设计高扩展的在线网页制作平台
  17. 全球十大汽车轮胎排名韩泰轮胎:冬季轮胎安全须知
  18. 笔记本电脑同时连接内外网
  19. Windows 反消息钩子(1)
  20. 【力扣】695岛屿的最大面积

热门文章

  1. understand 4 for linux register key code 随意、任性拥有。。。。
  2. [BZOJ5329] [SDOI2018] 战略游戏
  3. scanf 与 scanf_s
  4. Python数据分析中Groupby用法之通过字典或Series进行分组
  5. 安装quickLook插件以及解决如何不能读取offic问题
  6. js事件(事件冒泡与事件捕获)
  7. 关于java.lang.reflect.InvocationTargetException。
  8. 在propreties文件中引用另一个properties文件中的内容
  9. hdu 1754 线段树 水题 单点更新 区间查询
  10. SQL Server 按某一字段分组取最大(小)值所在行的数据