使用QLable显示图片

这篇具有很好参考价值的文章主要介绍了使用QLable显示图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

QLabel主要用来显示文本的组件,但是也有显示图片的方法,下面介绍一下如何用QL abel显示图片。

向QLabel中添加图片

可以使用QImage读取图片再通过QPixmap方法在QLabel中显示
也可以直接使用QPixmap读取图片,显示。他们的效果都是一样的。

    QImage img("wife.jpeg");
    ui->label->setPixmap(QPixmap::fromImage(img));
//    QPixmap pix;
//    pix.load("wife.jpeg");
//    ui->label->setPixmap(pix);

使用QLable显示图片
显然,这是因为label的大小,导致不能将图片全部显示出来,那么我们重新设置label大小是不是就可以了?

设置QLabel位置与大小

使用setGeometry函数

由于QLabel是从QWidget中继承而来,所以直接使用QWidget::setGeometry函数

void QWidget::setGeometry(int x, int y, int w, int h)

(x, y)表示其在窗口中的位置,(w, h)表示,确定位置后窗口的宽和长,这样就确定了一个窗口具体的位置和大小。
这里,我们将QLabel设置成和MainWindow一样大,再看一下QLabel显示图片。

    QImage img("wife.jpeg");
    int WindowW = this->width();
    int WindowH = this->height();
    ui->label->setGeometry(0, 0, WindowW, WindowH);
    ui->label->setPixmap(QPixmap::fromImage(img));

使用QLable显示图片
虽然显示了图片很多内容,但是还是不能将图片全部显示出来,这里就可以使用缩放的方法,将图片按照一定的比例缩放,然后再放入QLabel中来。

scaled()函数缩放图片

QImage QImage::scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const
  1. size表示给定缩放后的尺寸。
  2. aspectRatioMode 选择缩放的模式,如果是IgnoreAspectRatio模式(缺省)即按照给定的尺寸显示;
    KeepAspectRatio,则按照给定的尺寸将图像缩放为内部大小尽可能大的矩形,从而保留纵横比。
    KeepAspectRatioByExpanding,则图像将缩放为一个外部尺寸尽可能小的矩形,从而保持纵横比。
    我们这里选择KeepAspectRatio模式即可。
  3. TransformationMode 模式,是否让图像看起来更平滑。
    Qt::FastTransformation(缺省),执行的更快,没有平滑。
    Qt::SmoothTransformation,使得图像更平滑。
    这里选择Qt::SmoothTransformation。
    QImage img("wife.jpeg");
    int WindowW = this->width();
    int WindowH = this->height();
    ui->label->setGeometry(0, 0, WindowW, WindowH);
    QImage scalimg = img.scaled(ui->label->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
    ui->label->setPixmap(QPixmap::fromImage(scalimg));


这样就可以看到完整的老婆了文章来源地址https://www.toymoban.com/news/detail-444775.html

到了这里,关于使用QLable显示图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt 鼠标移入QLabel、离开QLabel、点击QLabel显示不同的效果

    通过Qt建立一个窗口应用,经常会出现以下的应用场景:即鼠标移入、离开以及点击一个QLabel时,QLabel相应的样式发生改变,发生诸如“ 边框加粗 ”、“ 背景色改变 ”、“ 显示文本 ”等变化,本案例通过编写一个继承于QLabel的MyLabel类实现上述需求。通过重写enterEvent、le

    2024年02月13日
    浏览(34)
  • 天齐锂业通过聆讯:将实现“A+H”两地上市,募资主要用来还债

    近日,天齐锂业股份有限公司(下称“天齐锂业”)通过港交所上市聆讯,并披露了聆讯后资料集(即招股书)。贝多财经了解到,天齐锂业本身是在于2010年在深交所上市的公司,代码为“002466”。 另有消息称,天齐锂业在港交所发行上市的募资规模预计为10至15亿美元。若

    2024年02月07日
    浏览(33)
  • 本仓库主要用来收集一些 Android 开发中常用的第三方 UI 库及其简单 Demo

    | 第三方库 | 介绍 | Demo | 使用说明 | | — | — | — | — | | CircleImageView | 显示圆形图片 | CircleImageViewDemo | Android UI Libs 之 CircleImageView.md | | android-gif-drawable | 显示 gif 图片 | android-gif-drawabledemo | Android UI Libs 之 android-gif-drawable.md | | AndroidSwipeLayout | 滑动布局,可以实现侧滑菜单与侧

    2024年04月15日
    浏览(39)
  • 【QT】 QLabel背景图片自适应窗口大小

    这是最终效果: 想要图片跟随窗口自适应大小,首先我们先对QWidget进行网格布局,布局效果如下: 布局完成后添加 QLabel 代码,新建 QLabel 并且设置为可扩展内容,再设置图片放置最后面,否则图片在最前面会遮挡控件。 然后重写 qt 的绘画事件: 这是绘画事件的实现代码:

    2024年02月15日
    浏览(47)
  • Qt-在QLabel上显示Mat数据

    0. 写在前面         用于记录一下,在Qt上显示Mat的数据,记录代码如下;

    2024年04月08日
    浏览(25)
  • PyQt5组件之QLabel显示图像和视频

    目录 一、显示图像和视频 1、显示图像  2、显示视频 二、QtDesigner 窗口简单介绍 三、相关函数 1、打开本地图片 2、保存图片到本地 3、打开文件夹 4、打开本地文本文件并显示 5、保存文本到本地 6、关联函数 7、图片 “.png” | “.jpn” Label 自适应显示 8、QLabel常用方法 1、显

    2024年02月13日
    浏览(28)
  • Qt信号和槽绑定实例,点击pushbutton按钮触发QLabel文本显示和关闭

    功能简介: 点击qt界面中的open按钮在界面中显示文本,同时按钮变为close按钮,再点击close按钮可以关闭显示文本,同时按钮变为open按钮,继续点击open按钮。。。。。。 关键内容: 1.创建一个qt工程 2.定义一个QPuschButton按钮实例和一个QLabel文本显示实例 3.设置按钮显示内容和

    2024年02月12日
    浏览(33)
  • Android Studio中SQLite的使用,主要介绍sqlite插入和读出图片(ViewBinder)的操作方法

    本人最近在写一个小的安卓项目,开发app过程中用到了安卓自带的sqlite。本文主要对sqlite图片操作进行介绍,其他存入文本之类的操作和普通数据库一样,众所周知,sqlite是一款轻型的数据库,以下先简单介绍一下sqlite,为后续做铺垫,有了解的大佬可以跳过此部分:   SQ

    2024年02月09日
    浏览(31)
  • Linux命令200例:tail用来显示文件的末尾内容(常用)

    🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Linux命令大全。 🏆本专栏我们会通过 具体的系统的命令讲解 加上

    2024年02月12日
    浏览(34)
  • Rust 是一种面向系统编程语言 主要被设计用来解决执行速度、安全性、并发性和可靠性等方面的问题 Rust From First Principles: Building a Minimal Rust

    作者:禅与计算机程序设计艺术 Rust 是一种面向系统编程语言,主要被设计用来解决执行速度、安全性、并发性和可靠性等方面的问题。相比于其他语言来说,它拥有以下优点: 高性能: Rust 的运行时是单线程的,但是拥有基于垃圾收集(GC)的自动内存管理机制,使得在开

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包