最主要的是重写paintEvent()函数,下面直接看代码

mylabel.h

# pragma execution_character_set("utf-8")#ifndef MYLABEL_H
#define MYLABEL_H
#include <list>
#include <map>
#include<QLabel>
#include<QPoint>
#include<QMouseEvent>
#include<QPainter>
#include<QWidget>
#include<QDebug>
#include<iostream>
#include<QString>
#include<QImage>using namespace std;
#define WIDTH  640
#define HEIGHT  360class MyLabel : public QLabel
{Q_OBJECT
public:MyLabel(QWidget *parent = 0);protected:void  paintEvent(QPaintEvent *event);private slots :void  slotGetOneFrame(QImage img);private:QImage wb_Image;
};#endif // MYLABEL_H

mylabel.cpp

#include "mylabel.h"MyLabel::MyLabel(QWidget *parent):QLabel(parent)
{
}//接收sig_GetOneFrame信号,调用update在界面中显示图像
void MyLabel::slotGetOneFrame(QImage img)
{wb_Image = img;update(); //调用update将执行 paintEvent函数
}void MyLabel::paintEvent(QPaintEvent *event)
{QLabel::paintEvent(event);//画出图像QPainter painter(this);if (wb_Image.size().width() <= 0) return;///将图像按比例缩放成和窗口一样大小QImage img = wb_Image.scaled(QSize(WIDTH, HEIGHT), Qt::IgnoreAspectRatio);int x = this->width() - img.width();int y = this->height() - img.height();painter.drawImage(QPoint(x, y), img); // 画矩形框QPainter paint;paint.begin(this);paint.setPen(QPen(Qt::red, 1, Qt::SolidLine, Qt::RoundCap));paint.drawRect(QRect(50, 50, 200, 200));QString strText = QString::fromLocal8Bit("用双手成就你的梦想");;paint.drawText(250, 50, strText);paint.end();
}

其中用到了信号槽,大家注意到头文件中

private slots :void  slotGetOneFrame(QImage img);

这是槽函数,还需要一个信号函数,需要在解码类中声明,此函数不需要实现。

signals:void sig_GetOneFrame(QImage img);

然后初始化时连接信号槽即可:

 m_VideoDecode = new CDemuxingDecoding;connect(m_VideoDecode, SIGNAL(sig_GetOneFrame(QImage)), ui.showCurrentPicLabel, SLOT(slotGetOneFrame(QImage)));

qt中在QLabel上显示图像并画矩形框。相关推荐

  1. Qt实现在QLabel上显示图片并进行线条/矩形框/多边形的绘制

    文章目录 前言 一.事件过滤器 二.示例完整代码展示 三.下载链接 总结 前言 本文主要讲述了使用QPainter在QLabel上进行图片的显示,并使用事件过滤器让QLabel捕获QEvent::Pa ...

  2. qt5设置linux系统时间,Qt中使用QLabel显示时间的两种方法

    Qt中使用QLabel显示时间的两种方法思路一致,只是实现方法不一样而已. main.cpp #include "displaytime.h" #include int main( ...

  3. Qt中的QLabel组件

    文章目录 1 QLabel组件 1.1 QLabel简介 1.2 图片自适应 QLabel 的大小 1 QLabel组件 1.1 QLabel简介 QLabel组件: QLabel用于显示一个提示性的 ...

  4. QT中利用Qlabel显示当前的时间:年-月-日-时-分-秒-星期

    一.第一步初始化 QTimer *timer_calendar;//用来显示当前日期的定时器timer_calendar = new QTimer(this);//new一个QTimer对象conne ...

  5. Qt中如何设置label字体居中

    Qt 可以做什么? Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部:Qt 除了可以绘制漂亮的界面(包括控件.布局.交互),还包含很多其它功能,比如多线程.访问 ...

  6. QT 中使用 OpenCv 的 CascadeClassifier 报错

    问题 在 QT 中调用 OpenCv 的 CascadeClassifier 进行人脸框检测的时候,在构造函数中进行检测器的初始化,随后调用相机读取图片的时候就会报错,报的错误是 Segment Fa ...

  7. 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(

     新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...

  8. Qt 实现QT控件中的QLabel显示图片并自适应显示

    一.需求 实现QT控件中的QLabel显示图片,并自适应显示. 二.代码 QImage Image; Image.load(":/image/image/logo.jpg"); Q ...

  9. QT中QLabel的常见使用方法

    QLabel标签控件在QT中算是比较常见的,它一般都是用来显示文本内容,当然它的功能不是只局限在这里,还可以用它来显示照片,gif动画等,那接下来就看看是如何操作它的吧: 首先先创建一个新项目,在ui ...

最新文章

  1. 配置管理小报111106:在wincvs中查找文件
  2. 数据结构 —— 为结构体内变量赋值
  3. 【Android NDK 开发】Kotlin 语言中使用 NDK ( 创建支持 Kotlin 的 NDK 项目 | Kotlin 语言中使用 NDK 要点 | 代码示例 )
  4. 如何动态调用WebServices
  5. 关于范围for语句的使用
  6. python海龟图画龙珠_火影,海贼王,七龙珠,还在为漫画书发愁!我用Python一键生成电子漫画书...
  7. 你不知道的Chrome调试技巧
  8. php 随机几率,php实现根据概率配置随机抽奖
  9. 聊聊spring for kafka对consumer的封装与集成
  10. 下载centos(阿里云)
  11. 最火的编程语言和开源项目,跟你想的一样吗?
  12. visio付款流程图_visio流程图软件
  13. 计算机视觉方向开题,机器视觉开题报告.doc
  14. Python常用标准库、模块
  15. 2022-2027年中国暖气片行业市场全景评估及发展战略规划报告
  16. OSChina 周五乱弹 —— 有一个朝代红薯不能去
  17. nit报名费用计算机基础,2015年NIT计算机应用基础考试:Windows基本操作(Windows 7)...
  18. 计算机主板系统安装系统安装系统,重装系统_系统重装_电脑重装系统【步骤|图文教程】-太平洋IT百科手机版...
  19. 为什么说HashSet是无序的
  20. Java简单搭建免签个人支付宝当面付收款接口,无需挂APP,官方接口无风险

热门文章

  1. 三菱PLC CCD控制ST程序 本PLC程序中CCD控制用的ST结构化语言,程序都有注释
  2. 启动mongo数据库
  3. 13. 中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值5钱,一只母鸡值3钱,三只小鸡值1钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?
  4. 一文解读时间序列基本概念
  5. 热乎乎的蚂蚁金服面经分享,offer已到手建议收藏(Java岗、附答案解析)
  6. Aidlux实践-快速实现街道人流量统计系统
  7. 【无标题】基于javaweb、java的管理系统毕设计与实现怎样选题思路分享
  8. 联想小新15用什么C语言程序,长处更长 优点更优 联想小新Air 15 2019首测
  9. 移动端1px边框实现
  10. python数据集处理一些方法备份(长期更新)