使用QPainter的drawPixmap()绘制多幅图片

本文介绍了如何使用QPainter的drawPixmap()方法代替QLabel的setPixmap()来显示图片,以降低CPU消耗并利用GPU加速。通过Qt Creator创建项目,设置资源文件,将图片导入,并在UI中使用QFrame布局。接着在代码中声明QPixmap对象,构造函数中绑定图片,并在paintEvent()中使用drawPixmap()进行绘制。最后展示了运行效果。
摘要由CSDN通过智能技术生成

    众所周知,使用QLabel的setPixmap()就可以将图片显示出来,做视屏解码后显示也可以如此。但是为何我今天还要费力使用基函数drawPixmap()来做绘图?理由有这么些吧:

 

   ·使用QLabel很耗费CPU,播放画面过多有卡卡的感觉;

   ·drawPixmap()使用GPU处理,相对减轻了CPU的负担;

   当然,今天这里,只是给出基本思路方法,并非对视频解码后的图像做原样的解析。那么,我们开始吧!

   1.首先使用Qtcreator建立项目吧,我这里取名Painter,然后我在网上下载了4副图片,个人觉得还是挺漂亮的,一会展示给大家看;

   2.下来新建文件夹,名字就叫images吧,此时了,便于使用,最好把图片名字改成便于自己记忆的。然后添加Qt资源,将4副图全部导入资源文件。

   3.此时,我们回到项目的ui文件,在设计器里面,拖进来4个QFrame或者QWidget控件,我是拖进来4个QFrame的,因为可以勾划边框;

  4.下来对命名后的4个QWidget使用网格布局吧;

  5.此时回到paint的.h文件,加上几个头文件:

#include <QPixmap>  
#include <QPaintEvent>  

   并在私有属性添加以下:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值