博客转载自:https://blog.csdn.net/lg1259156776/article/details/52325361

在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的差距区别可是相当大的。
												

Qt中显示图像的两种方法的更多相关文章

  1. 【Qt开发】Qt中显示图像的两种方法对比

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

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

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

  3. 使用JavaScript获取URL中的参数(两种方法)

    本文给大家分享两种方法使用js获取url中的参数,其中方法二是使用的正则表达式方法,大家可以根据需要选择比较好的方法,废话不多说了,直接看详细介绍吧. 方法一: //取url参数 var type = ...

  4. Java代码中获取配置文件(config.properties)中内容的两种方法

    方法千千万,本人暂时只总结了两种方法. (1)config.properties中的内容如图 在applicationContext.xml中配置 <!-- 引入配置文件 --> < ...

  5. qt 自动重启(两种方法)

    所谓自动重启就是程序自动关闭后在重新打开: 一般一个qt程序main函数如下: int main(int argc, char* argv[]) { QApplication app(argc, ar ...

  6. Java中随机数生成的两种方法,以及math的floor

    1.Math的random方法,调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选 ...

  7. Qt插件开发入门(两种方法:High-Level API接口,Low-Level API接口)

    Qt中为我们提供了两种开发插件的方式.一种是使用High-Level API接口,一种是使用Low-Level API接口.所谓High-Level API 是指通过继承Qt为我们提供的特定的插件基类 ...

  8. Qt产生随机数(两种方法)

    第一种方法 #include <QTime> QTime time; time= QTime::currentTime(); qsrand(time.msec()+time.second( ...

  9. Qt With Web(两种方法: WebAssembly,WebGL)

    Qt 写的程序,可以通过某些方式,在 web 上浏览 https://www.youtube.com/watch?v=OJ1ieyuIQzE​www.youtube.comhttps://www.yo ...

随机推荐

  1. Mybatis_总结_05_用_Java API

    一.前言 使用 MyBatis 的主要 Java 接口就是 SqlSession.你可以通过这个接口来执行命令,获取映射器和管理事务. 二.主要类 (1)SqlSession 是由 SqlSessio ...

  2. Spring_总结_03_装配Bean(二)_Java配置

    一.前言 本文承接上一节:Spring_总结_03_装配Bean(一)之自动装配 上一节提到,装配Bean有三种方式,首先推荐自动装配.当自动装配行不通时,就需要采用显示配置的方式了. 显示配置有两种 ...

  3. 微服务:Eureka配置集群环境

    一.注册中心编码 1.使用idea创建一个spring boot项目,pom如下: <?xml version="1.0" encoding="UTF-8" ...

  4. python与mongodb

    一.mongodb的原理介绍: 特点: 为了理解以上特点,我们从一个真实的场景出发,介绍mongodb的原理:参考视频:https://www.youtube.com/watch?v=4SxHNmk5 ...

  5. java-03方法课堂练习

    1.java中利用static(静态),将方法放入类中.如果不加static,必须先实例化出来一个类,之后再通过实例化类名+方法的形式调用. 2.编写一个方法,使用以上算法生成指定数目(比如1000个 ...

  6. unity3d___UGui中如何创建loading...进度条

    http://blog.sina.com.cn/s/blog_e82e8c390102wh2z.html 实现方法:通过Image组件中Image Type属性中Fill Amount,通过代码改变F ...

  7. WebSphere & Log4j

    IBM的东西,真是太麻烦了,一个日志都给你替换掉,太霸道了,Google了下,居然是个普遍想象,不过也有相关的解决方 案,基本好像都是在 WAS5,WAS6.1上的,我没环境,不过我这边的WAS7 没 ...

  8. vbs查看系统开关机时间

    如何获取XP系统的开机时间? 下面给出两种代码,保存到扩展名为vbs的文件中.具体哪个请根据自己需求决定. 一:根据系统日志,查看开机时间和关机时间,---- 使用弹出对话框的形式 Set WMI = ...

  9. python中lxml的应用

    首先下载lxml, http://www.lfd.uci.edu/~gohlke/pythonlibs/ ,然后添加引用 from lxml import _elementpath as DONTUS ...

  10. IP Fragmentation(IP分片)

    https://www.cisco.com/c/en/us/tech/ip/index.html IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组,这一过程称为分片(Fr ...