Qt实现 QLabel显示文本与图片、动图

【Qt】常用控件 —— QLabel 在鼠标拖动窗口尺寸的过程中 这个函数就会被反复调用执行 (每次触发一个resizeEvent 事件 都会被调用一次对应的虚函数)像resize 这样的事件 是连续变化的 把窗口尺寸从 A拖到B 这个过程中 会触发出一系列的 resizeEvent。将 QLabel 与单选框类似的控件 绑定伙伴关系 就可以通过 Qlabel 触发 单选框的 选择操作。Qt中 QLabel中写的文本 是可以指定快捷键的 在文本中 使用。—— 设为 true 内部的文本 会自动换行。 阅读详情

QLabel概念:

在Qt中,QLabel类用于文本或图片(包括动图gif)、视频的显示,并不提供用户交互功能,

如果需要交互,比如响应鼠标事件,根据面向对象的里氏替换原则,子类必须能够替换它们的父类,同样Qt也支持该理念,所以可以新建一个类继承自QLabel,再重写鼠标事件,

子类此时通过继承,就具有了父类QLabel的功能,同时也具有了自己的事件,不过本文讨论的是Qt实现 QLabel显示文本与图片,不再引申其他。

一、在界面显示与获取文本:

ui->label->setText("hello qt");    //设置文本

ui->label->text();    //获取文本

通过setText()函数设置需要显示的文本,并且可以通过text()函数获取当前被设置的文本。

二、在界面显示图片:

显示图片通常有两种,一个是QPixmap类,一个是QImage类

下面看看二者主要的不同点:

1、QPixmap主要是用于绘图,针对屏幕显示而最佳化设计。而QImage主要是为图像I/O、图片访问和像素修改而设计的。

2、QPixmap依赖于所在的平台的绘图引擎,故例如反锯齿等一些效果在不同的平台上可能会有不同的显示效果,QImage使用Qt自身的绘图引擎,可在不同平台上具有相同的显示效果

3、目前的Qt会把QPixmap都存储在graphics memory中,QImage是存储在客户端的,是独立于硬件的。在 X11, Mac 以及 Symbian平台上,QPixmap 是存储在服务器端,而QImage则是存储在客户端,在Windows平台上,QPixmap和QImage都是存储在客户端,并不使用任何的GDI资源。

4、由于QImage是独立于硬件的,也是一种QPaintDevice,因此我们可以在另一个线程中对其进行绘制,而不需要在GUI线程中处理,使用这一方式可以很大幅度提高UI响应速度。

一、使用QImage在QLabel上显示图片。绝对路径方式

QImage *image=new QImage;
image->load("G:/Qt_coding/QLabelTest/1.png");      //绝对路径
//image->load("G:\\Qt_coding\\QLabelTest\\1.png"); //绝对路径的另一种方式
ui->label->setPixmap(QPixmap::fromImage(*image));

二、使用QPixmap显示图片。当前路径和相对路径方式

​QPixmap *photo=new QPixmap;
photo->load("./test.png");            //表示当前路径 注意Qt的当前路径在exe的上一层目录 不是代码文件的文件夹 这里和C++不一样,

//photo->load("./../image/1.png");    //相对路径方式  ./可以忽略

ui->label->setPixmap(*photo);

//图片自适应label大小
ui->label->setScaledContents(true);

//修改label大小
ui->label->resize(200,300);

三、使用QMovie显示gif

movie.setFileName("G:/Qt_coding/QLabelTest/3.gif");    //已经在类中声明了movie
ui->label->setMovie(&movie);
movie.start();

如果使用QImage或者QPixmap显示gif,图片是动不了的,所以使用的是Qmovie类来实现动图的播放

这里通过start()函数来播放gif动画。可以通过stop()停止gir的播放,

或者使用setPaused(bool),设置为true用来暂停动画的播放,false恢复播放。

 

(三)Qlabel显示图片 在(一)QT学习中,我们说过label这个控件是可以显示图片的,那么这篇让我们看下如何显示图片: 首先让我们创建一个项目picture,为项目布置上对应的控件label。让图片显示在label上: 代码很简单,如下 QLabel *abel=new QLabel(); QImage *img=new QImage; img->load("F:\\tupian\\image.jpg"); ui->label->setPixmap(QPixmap::fromIm 阅读详情

相关推荐

QLabel中显示图片,让图片保持比例进行放大缩小

Qt通过QLabel显示图片,改变界面大小,图片依然原有比例进行缩放。

qq_40876689的博客 1万+

Qt学习笔记:QLabel同时显示图片和文字

前言 QLabel是Qt自带的一个显示用控件,可以用来显示图片和文本。其使用也非常方便:用setPixmap(const QPixmap &)接口来设置要显示的图片,用setText(const QString &)接口来设置要显示的文本。然而在使用过程中,我发现QLabel的setPixmap(const QPixmap &)和setText(const QString...

chase_hung的博客 4万+

QT中在QLabel显示图片并且利用鼠标点击画线

在QLabel上显示图片并且通过鼠标点击画线。如果只是实现利用鼠标绘制,重写void paintEvent(QPaintEvent *event);void mousePressEvent(QMouseEvent *e); void mouseMoveEvent(QMouseEvent *e); void mouseReleaseEvent(QMouseEvent *e);

李斌斌的博客 9221

qt学习:QLabel标签+显示文字图片动画

【代码】qt学习:QLabel标签+显示文字图片动画。

weixin_59669309的博客 1239

Qt学习笔记(二十七):QLabel 的常用方法

一、QLabel 的构造函数: 1、QLabel(QWidget * parent = 0, Qt::WindowFlags f = 0):创建 QLabel 控件时,指定其父对象,并设置其窗口属性(有默认值,可以不用设置); 2、QLabel(const QString & text, QWidget * parent = 0, Qt::WindowFlags f = 0):创建...

秋忆夏伤的博客 1万+

Qt——Qt控件之显示窗口-QLabel标签控件的使用总结(例程:QLabel显示文本标签及图片)

本次博文开始总结下Qt的显示窗口控件,显示窗口控件种类也很多,这个系列博文中挑几个使用频次较高的控件进行总结,先说下QLabel标签控件,QLabel提供了一种用于文本或图像显示的小部件,在前面一些博文中已经出现并使用过Label控件,只用了它显示文本,其实它还可以用于显示图像。

数字世界 万物互联 3159

Qt之QLabel(属性 显示图片 显示动图 显示富文本信息 信号)

QLabel可以说是Qt中最常见的控件之一,主要用来显示文本文字、显示图片、显示gif动图、显示富文本信息。本文将从以下几个方面对QLabel进行介绍: [1]显示及获取文本文字 [2]显示图片 [3]显示动图 [4]显示富文本信息 [5]常用属性设置 [6]信号事件 至于样式表(Qt Style Sheet)设置本文暂时不讲,后面会有专门一节对常用控件的样式表设置进行说明。 ...

yky的博客 1万+

QLabel文字滚动显示

封装QLabel实现文字滚动显示,具体使用与QLabel相似,不同之处有说明。

Qt中用QLabel显示图片

关于QT设置图片的一些心得,转载自网络一篇博文,对自己帮助很大

积累点滴,保持自我 3万+

Qt自定义QLabel滚动显示文本文字,label可根据文本长度自动开启滚动显示

自定义QLabel控件,自动判断文本长度与显示框长度的大小,显示框太短,则自动滚动显示,否则正常显示,类似于广告屏的滚动播放效果,qt 5源码,编译测试通过。

模拟电子课设-半导体直流稳压电源的设计和测试

1、学习直流稳压电源的设计方法; 2、研究直流稳压电源的设计方案; 3、掌握直流稳压电路的调试及主要指标的测试方法。二、设计要求和技术指标 1、设计要求1)、设计一个能输出5V-12V连续可调的直流稳压电源,或±12V的直流稳压电源; 2)、根据设计要求和技术指标设计好电路,选好元件及参数,要求绘出原理图,并用Protel 99SE/DXP画出印制板图; 3)、在万能板或面包板上制作一台直流稳压电源; 4)、测量直流稳压电源的稳压系数; 5)、测量直流稳压电源的内阻; 6)、拟定测试方案和设计步

GJZGRB的博客 1970

【Qt开发】显示类控件(一)-> QLabel

QLabel是Qt框架中用于显示不可编辑文本和图像的基础控件。作为信息展示的核心组件,它支持纯文本、富文本(HTML)、Markdown等多种格式,并能灵活控制文本对齐、自动换行、缩进和边距等样式。此外,QLabel还可作为图像容器,通过设置scaledContents属性实现图片自适应缩放。其"伙伴"功能允许通过快捷键快速聚焦关联控件,提升操作效率。通过重写resizeEvent函数,可实现QLabel内容随窗口大小动态调整。这些特性使QLabel成为构建用户界面时不可或缺的灵活元素,

枫叶丹4的博客 1945

黑暗中的爆破(船讯网Ais爬虫暨爬虫实战js逆向学习经验分享)

船讯网 爬虫 js逆向 python

returnadsss的博客 1575

Qt 之 QLabel

QLabel提供了一个文本或图像的显示,没有提供用户交互功能。

青春不老,奋斗不止! 6万+

Unity开发HoloLens应用:从打包到部署的完整指南

本文为Unity开发者提供了将应用部署到HoloLens设备的完整实战指南。详细讲解了从环境准备、Unity项目配置、生成Visual Studio工程,到最终构建APPX安装包并通过设备门户或Visual Studio进行部署的全流程,帮助开发者高效完成混合现实应用的打包与安装。

red88的博客 1018

OpenClaw Windows 最详细安装指南

Windows上养龙虾:OpenClaw完整安装教程+钉钉接入,助你养只大龙虾

weixin_43405859的博客 2212

QT添加动图

简单的步骤实现动图显示

qq_56446802的博客 7875

安装并新建windows下wxwroks7.0 bootrom工程

安装licence,将zwrsLicense-vx7-perm.lic粘贴到安装目录C盘WindRiver/license下。现在双击Workbench 4,新建vxworks7.0工程,会出现下面的情况,因为没有licence。编译完成binaries下生成wxwroks x86格式,可以修改bootrom硬件信息的配置了。单击x86_wxwroks工程右键,build project编译工程。双击桌面Workbench 4打开,新建windows下工程。新建完成,选择finish。

wangjie36的博客 1922

【QT学习】QLabel显示(动态/静态)图片

QLabel显示静态图片和GIF图

孤生i的博客 6655

基于STM32的家庭环境监测毕业设计(全部资料)

本文设计并实现了一套基于STM32的家庭环境监测系统,具备温湿度、烟雾浓度和PM2.5检测功能,通过OLED屏实时显示数据,并能自动或手动控制风扇、加湿器等设备。系统采用分层架构设计,包含数据采集、处理、显示和控制执行模块,经测试性能稳定可靠。研究结果表明,该系统能有效提升家庭环境监测与控制的智能化水平,但仍存在传感器精度和智能化程度不足等问题,未来可进一步优化硬件配置并引入AI算法提升性能。

3254968421的博客 461

【Unity】【Pico】【VR开发】为何PICO打包后真机运行闪退

由于并没有开版权验证,而且闪退后也并没有弹框说版权问题,所以还是怀疑环境有什么地方不对。设置步骤,项目配置都没问题,Build也成功,Unity版本是符合要求的2022LTS版本,但是一在真机上运行就闪退。

每日出拳老爷子的博客 3175

【Qt】常用控件QLabel

QLabel可以用来显示文本和图片

dab112的博客 2286

微信电脑版本不会自动下载图片吗?——没有找到解决方法。——只会默认下载doc等文件,图片不行,需要自己另存为——有什么办法解决吗?

微信电脑版本不会自动下载图片吗?——没有找到解决方法。——只会默认下载doc等文件,图片不行,需要自己另存为——有什么办法解决吗?此外,用户还可以选择将接收到的图片、视频和文件保存到指定的文件夹中。‌用户可以在微信设置中调整这一设置。

qq_15963745的博客 5085

[QT] [QLabel] [实用向] 使用QLabel 显示图像并对图片进行缩放移动等基本操作

一个使用QLabel显示图片的小例子,纯应用向,适合新手练手或者初学者入门,没有原理性的介绍

qq_34296989的博客 3425

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

QLabel的四种显示方式

文章目录1.文本显示2.数字显示3.图片显示4.动图显示(.gif)5.QLabel属性页面 1.文本显示 文本显示就很常用了,使用setText()函数设置文本内容就可以了。 setText(“文本内容”); 2.数字显示 数字显示需要使用setNum()函数。 setNum(数字); 3.图片显示 图片显示需要使用setPixmap()函数。 4.动图显示(.gif) 效果: 5.QLabel属性页面 属性解释在右边: ...

T 7365

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Qt开发之路12---QLabel显示文字、图片、动画

QLabel是我们最常用的控件之一,其功能很强大,我们可以用来显示文本,图片和动画等。 一:显示文字 (普通文本、html) 通过QLabel类的setText函数设置显示的内容: void setText(const QString &) 可以显示普通文本字符串 QLabel *label = new QLabel(this); label->resize(100,20); label->move(100,100); label->setText("Hello,World"

木木木 的博客 9323

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: c/c++通过域名解析ip地址
下一篇: Qt实现 复制内容到剪贴板(文件,图片,文本)
Qt上位机开发
Qt上位机开发 领域专家: C/C++技术领域 领域专家: C/C++技术领域
博客等级 码龄9年 9664粉丝 178原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值