首页 > 其他分享 >Qt显示图像之QGraphicsPixmapItem

Qt显示图像之QGraphicsPixmapItem

时间:2024-03-28 16:59:24浏览次数:30  
标签:Qt QGraphicsPixmapItem addItem scene pix 图像 new view

为防止不断地addItem导致内存增长,建议在初始化时new Item、scene->addItem。在合适的地方scene->removeItem(或scene->clear)或者item->setVisible。

h头文件中

#include <QGraphicsView>

QGraphicsView* view;
QGraphicsScene* scene; QGraphicsPixmapItem* m_pix = nullptr;

cpp构造函数中

view = new QGraphicsView;
centralLayout->addWidget(view);
view->setBackgroundRole(QPalette::Dark);
    
scene = new QGraphicsScene;
view->setScene(scene);

m_pix = new QGraphicsPixmapItem;
scene->addItem(m_pix);

cpp显示图像的函数中

if (!m_qImg.isNull())
{    
    m_pix->setPixmap(QPixmap::fromImage(m_qImg));
}

 

标签:Qt,QGraphicsPixmapItem,addItem,scene,pix,图像,new,view
From: https://www.cnblogs.com/xixixing/p/18102068

相关文章

  • QT串口通信原理加实例
    串口通信原理:一、串口通信的基本原理串口的本质功能是作为CPU和串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位(bit);在接收数据时,串行的位被转换为字节数据。应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开......
  • 识别图像中的光线
    原图处理后的图像首先用腐蚀去掉光线周围的光晕。然后用二值化处理将背景变成黑色,光线保持不变依然为白色。“threshold(eroded,185,255,cv2.THRESH_BINARY)”中的185是通过二分法得到的。127是[0,255]的中点,185是[127,255]的中点。importcv2importnumpyas......
  • 【 ICCV代码复现】Swin Transformer图像分类实战教程 (训练自己的数据集)
    SwinTransformer图像分类实战教程一、环境配置1.官方环境配置2.数据集结构二、修改配置等文件1.修改config.py2.修改build.py3.修改utils.py三、训练1.Train2.Evaluation四、常见报错1.TypeError:__init__()gotanunexpectedkeywordargument‘t_mul‘我用......
  • QT在界面两点画一条线并测算距离
    记录一下在界面划线的过程在QT插件界面有QProductSetShowWidget2::QProductSetShowWidget2(QWidget*parent)框其中缺陷图片是由ui->def_view设置def_view是一个自定义类 QSynchShowImageView继承自vml::QZoomGraphicsView再继承自QT官方的QGraphicsView在类QSynchShowIm......
  • OpenCV图像滤波、边缘检测
    OpenCV图像滤波一、引言在数字图像处理中,滤波是一种重要的技术,用于消除图像中的噪声、改善图像质量或提取特定信息。OpenCV(开源计算机视觉库)提供了丰富的滤波函数,可以方便地对图像进行各种滤波操作。本文将介绍OpenCV中常见的图像滤波方法及其应用。二、图像滤波的基本概念......
  • 【Pavia】遥感图像数据集下载地址和读取数据集代码
    【Pavia】遥感图像数据集下载地址和读取数据集代码目录【Pavia】遥感图像数据集下载地址和读取数据集代码前言Pavia数据集Pavia数据集地址:Pavia数据集预览PaviaU.matPaviaU_gt.matPavia数据集的Matlab读取方式Pavia数据集中PaviaU.mat的matlab读取代码Pavia数据集中PaviaU_gt.ma......
  • 使用 OpenCV 添加(混合)两个图像
    返回:OpenCV系列文章目录(持续更新中......)上一篇:OpenCV4.9的是如何进行图像操作下一篇:引言:我们将学习如何混合两个图像!目标在本教程中,您将学习:什么是线性混合以及它为什么有用;如何使用 addWeighted()添加两张图片 理论注意下面的解释属于RichardSzeliski的《......
  • Yolov8-pose关键点检测:注意力涨点篇 | 上下文锚点注意力(CAA) | CVPR2024 PKINet 遥感图
     ......
  • Yolov8-pose关键点检测:block涨点篇 | PKIBlock多尺度卷积核,优势无需膨胀,即插即用小目
      ......
  • QTable自适应行宽度
    #include<QFontMetrics>#include<QFont>voidTableWidget::setH(QStringListstrlist){   setHorizontalHeaderLabels(strlist);   intsizeAll=0;   QList<int>sizeList;   for(inti=0;i<strlist.size();i++)   {      QF......