博客
关于我
Qt笔记——QLable+QPixmap图片缩放踩坑
阅读量:795 次
发布时间:2023-03-03

本文共 810 字,大约阅读时间需要 2 分钟。

优化后的内容

在 Qt 开发中,常常会遇到图像显示比例失调的问题。以下是针对 QLabel 中显示图像并保持比例的解决方案。

问题描述

当在 QLabel 中直接放置 QPixmap 时,由于缺少比例控制,可能会导致图片被压缩或拉伸,影响显示效果。

解决方法

为了确保图片在 QLabel 中按比例显示,可以在设置图像时添加一行代码:

ui->label->setScaledContents(true);

优化后的代码示例

QPixmap Pix = QPixmap("dali3.jpeg");
QSize PixSize = ui->label->size();
Pix.scaled(PixSize, Qt::KeepAspectRatioByExpanding);
ui->label->setScaledContents(true);
ui->label->setPixmap(Pix);

代码解释

  • 获取图像文件QPixmap Pix = QPixmap("dali3.jpeg"); 读取指定路径的图片文件。
  • 获取标签尺寸QSize PixSize = ui->label->size(); 获取目标标签的尺寸。
  • 调整图像比例Pix.scaled(PixSize, Qt::KeepAspectRatioByExpanding); 根据标签尺寸调整图片比例,保持原图比例不变。
  • 启用比例缩放ui->label->setScaledContents(true); 启用标签内容自动按比例缩放。
  • 设置图像到标签ui->label->setPixmap(Pix); 将调整后的图片设置到标签中。
  • 效果展示

    通过以上方法,图片会自动根据标签尺寸调整大小,保持原图比例,同时充满标签区域,避免拉伸或压缩现象。

    这种方法适用于在 Qt 应用中灵活控制图像显示比例,特别是在不同的设备屏幕尺寸间保持一致性效果。

    转载地址:http://dcxfk.baihongyu.com/

    你可能感兴趣的文章
    php运行环境出现Undefined index 或variable时解决方法
    查看>>
    php进程通信
    查看>>
    R&Python Data Science 系列:数据处理(2)
    查看>>
    php递归算法总结
    查看>>
    PHP递归遍历文件夹
    查看>>
    R&Python Data Science 系列:数据处理(1)
    查看>>
    php错误日志文件
    查看>>
    PHP错误解决:Array and string offset access syntax with curly braces is deprecated
    查看>>
    php隐藏手机号中间4位方法总结
    查看>>
    php面向对象三大特征封装、多态、继承
    查看>>
    php面向对象全攻略
    查看>>
    php面向对象的基础题
    查看>>
    php面试题二--解决网站大流量高并发方案(从url到硬盘来解决高并发方案总结)...
    查看>>
    php页面增加自选项,php-在Woocommerce中添加新的自定义默认订购目录选项
    查看>>
    php页面静态化技术;学习笔记
    查看>>
    php项目心得以及总结
    查看>>
    PHP项目集成支付宝PC端扫码支付API(国内支付)
    查看>>
    php预定义常量&变量
    查看>>
    R 集成算法③ 随机森林
    查看>>
    php验证码背景色设置无效
    查看>>