在(一)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显示图片相关推荐

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

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

  2. 【Qt】关于QLabel显示图片二三事

       在Qt程序的开发过程中,使用QLabel显示图片是经常会遇见的事情,不知道看到此篇内容的同行者是否也遇到了如下的烦恼. 加载图片之前,QLabel用于显示图片的边界范围不够明显. 显示图片时,不 ...

  3. pyqt pyside2 QLabel 显示图片问题

    关于QLabel显示图片问题踩了小坑:为了大家少踩分享一下心得 1.界面设计我用的是pyside2 dsigner 界面设计好就可以敲代码了 2.导入模块 from PySide2.QtWidgets ...

  4. qlabel 显示图片后大小不变_图形编程:QT使用scrollarea显示图片的解决方案

    需求: 在界面上点击"显示图片"按钮,会调用scrollarea窗口显示图片,窗口大小能根据图片大小自动调整,但是最大为1024*768,图片过大就要有滚动条来显示 IDE环境: ...

  5. Qlabel显示图片

    本文摘自:https://blog.csdn.net/sunatmine/article/details/109224468 在(一)QT学习中,我们说过label这个控件是可以显示图片的,那么这篇让 ...

  6. QLabel显示图片,图片可以自适应label的大小

    showpicture.py from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import *imp ...

  7. qt显示html富文本图片,Qt QLabel显示图片 动画 富文本

    0 前言动画 QLabel 功能不少, 能够用来显示图片 动画 富文本this 1 效果.net 对于图片和动画, 先添加到资源文件再使用3d 右键 Resources -> 添加现有文件cod ...

  8. PyQt5、PySide2、PySide6使用QLabel显示图片,缩放图片并保持长宽比

    对于比较大的图片,如果QLabel尺寸是固定的,会使得图片显示不全.对于比较小的图片,图片周围又可能留有空白.为此,应当放缩图片至合适的尺寸.如果要求图片不能变形走样,还应当保持图片的长宽比. pix ...

  9. 学习OpenCV的学习笔记系列(三)显示图片及视频

    OpenCV是计算机视觉库,那么处理的对象无非两个:"图片"及"视频"(其实视频也是被解压成单帧图像来处理的,总的来说,还是处理图像). 那么要想学习OpenC ...

最新文章

  1. 用gensim学习word2vec
  2. 链表问题4——反转双向链表
  3. 远程服务器返回了意外响应400,远程服务器返回400
  4. syn flood dos
  5. Linux网络协议栈(二)——套接字缓存(socket buffer)
  6. Latex \bibliographystyle+修改字体字号的大小
  7. LinuxC高级编程——进程
  8. html中文字描边效果代码,css如何设置文字描边效果?
  9. 内容页响应母版页控件的事件
  10. servlet 开发入门生命周期
  11. 给model模型传数组参数
  12. LINUX查看文件系统
  13. linux 7.4ip配置,新手进阶 Ubuntu7.10中配置IP地址
  14. 哪个软件能做英语测试,英语考试软件哪个好用 英语考试软件神器推荐
  15. MS4200 PCI串口卡驱动
  16. ESP8266驱动RDA5807实现的FM收音机,可连接WiFi显示B站粉丝数
  17. 常用工具方法(7S,28,SWOT,PDCA,SMART,6W2H,时间管理四矩阵,WBS,碎石分析,ORID)
  18. 跟我学系列,走进Scrapy爬虫(六)Spiders爬虫
  19. 运维为什么这么难招?
  20. 虫子满屏爬_三bug多线程示例程序浅析

热门文章

  1. 安装zabbix及部署
  2. 蓝牙协议spec文档免费下载官网下载(免费)
  3. C语言贪吃蛇游戏代码,贪吃蛇C语言代码实现大全
  4. JS中的函数声明和函数表达式
  5. 超详细版:Python 这样安装如此简单(Windows)
  6. eclipse配置环境变量 win10
  7. C# 如何取得本机网卡的型号,IP地址,子网掩码和网关
  8. 机器学习分类算法之XGBoost(集成学习算法)
  9. 如何创建自己的支付宝收款二维码
  10. CAS解决单点登录SSO