(三)Qlabel显示图片
在(一)QT学习中,我们说过label这个控件是可以显示图片的,那么这篇让我们看下如何显示图片:
首先让我们创建一个项目picture,为项目布置上对应的控件label。让图片显示在label上:
代码很简单,如下
QLabel *abel=new QLabel();QImage *img=new QImage;img->load("F:\\tupian\\image.jpg");ui->label->setPixmap(QPixmap::fromImage(*img));
但是你会发现,这样的载入方式,能加载的图片类型是很少的,例如百度上下载的.jfif(JPEG格式)无法加载。那么想加载其他类型的图片该如何处理呢
QPixmap *pixmap = new QPixmap("F:\\timg.jfif");pixmap->scaled(ui->label->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);ui->label->setScaledContents(true);ui->label->setPixmap(*pixmap);
当然你也可以读取图片的二进制数据,再加载图片,例如这篇文章可以参考:https://cloud.tencent.com/developer/article/1601595
另外以上加载的图片,都是图片适应label的大小,因为实际情况是:页面一般是固定的,只能图片适应控件大小。如果想控件适应图片大小呢,可以这么操作:
QImage image;image.load("F:\\timg.jfif");ui->label->setPixmap(QPixmap::fromImage(image));ui->label->resize(QSize(image.width(),image.height()));
这么做是有风险的,因为你需要控制图片的大小,否则会出现只加载图片的一部分(因为窗口大小是有限的,而无关label大小),即显示不全。
在项目中,如果我们需要传输图片作为验证码图片,可以考虑SVG图片,这种图片可以任意缩放,并且它的文本和图像是相互独立的,即你可以任意指定文字字体、文字大小写等,服务器可以很方便的变换验证码文字,而不需要变换图片;客户端也可以任意缩放图片大小,不会影响图片质量。
例如登陆界面(做的粗糙,有需要的自己调整大小即可):
label加载的代码:
QPixmap *pixmap = new QPixmap("D:\\method-draw-image.svg");pixmap->scaled(ui->label->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);ui->label_picture->setScaledContents(true);ui->label_picture->setPixmap(*pixmap);
(三)Qlabel显示图片相关推荐
- Qt 实现QT控件中的QLabel显示图片并自适应显示
一.需求 实现QT控件中的QLabel显示图片,并自适应显示. 二.代码 QImage Image; Image.load(":/image/image/logo.jpg"); Q ...
- 【Qt】关于QLabel显示图片二三事
在Qt程序的开发过程中,使用QLabel显示图片是经常会遇见的事情,不知道看到此篇内容的同行者是否也遇到了如下的烦恼. 加载图片之前,QLabel用于显示图片的边界范围不够明显. 显示图片时,不 ...
- pyqt pyside2 QLabel 显示图片问题
关于QLabel显示图片问题踩了小坑:为了大家少踩分享一下心得 1.界面设计我用的是pyside2 dsigner 界面设计好就可以敲代码了 2.导入模块 from PySide2.QtWidgets ...
- qlabel 显示图片后大小不变_图形编程:QT使用scrollarea显示图片的解决方案
需求: 在界面上点击"显示图片"按钮,会调用scrollarea窗口显示图片,窗口大小能根据图片大小自动调整,但是最大为1024*768,图片过大就要有滚动条来显示 IDE环境: ...
- Qlabel显示图片
本文摘自:https://blog.csdn.net/sunatmine/article/details/109224468 在(一)QT学习中,我们说过label这个控件是可以显示图片的,那么这篇让 ...
- QLabel显示图片,图片可以自适应label的大小
showpicture.py from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import *imp ...
- qt显示html富文本图片,Qt QLabel显示图片 动画 富文本
0 前言动画 QLabel 功能不少, 能够用来显示图片 动画 富文本this 1 效果.net 对于图片和动画, 先添加到资源文件再使用3d 右键 Resources -> 添加现有文件cod ...
- PyQt5、PySide2、PySide6使用QLabel显示图片,缩放图片并保持长宽比
对于比较大的图片,如果QLabel尺寸是固定的,会使得图片显示不全.对于比较小的图片,图片周围又可能留有空白.为此,应当放缩图片至合适的尺寸.如果要求图片不能变形走样,还应当保持图片的长宽比. pix ...
- 学习OpenCV的学习笔记系列(三)显示图片及视频
OpenCV是计算机视觉库,那么处理的对象无非两个:"图片"及"视频"(其实视频也是被解压成单帧图像来处理的,总的来说,还是处理图像). 那么要想学习OpenC ...
最新文章
- 用gensim学习word2vec
- 链表问题4——反转双向链表
- 远程服务器返回了意外响应400,远程服务器返回400
- syn flood dos
- Linux网络协议栈(二)——套接字缓存(socket buffer)
- Latex \bibliographystyle+修改字体字号的大小
- LinuxC高级编程——进程
- html中文字描边效果代码,css如何设置文字描边效果?
- 内容页响应母版页控件的事件
- servlet 开发入门生命周期
- 给model模型传数组参数
- LINUX查看文件系统
- linux 7.4ip配置,新手进阶 Ubuntu7.10中配置IP地址
- 哪个软件能做英语测试,英语考试软件哪个好用 英语考试软件神器推荐
- MS4200 PCI串口卡驱动
- ESP8266驱动RDA5807实现的FM收音机,可连接WiFi显示B站粉丝数
- 常用工具方法(7S,28,SWOT,PDCA,SMART,6W2H,时间管理四矩阵,WBS,碎石分析,ORID)
- 跟我学系列,走进Scrapy爬虫(六)Spiders爬虫
- 运维为什么这么难招?
- 虫子满屏爬_三bug多线程示例程序浅析