(三)Qlabel显示图片

2023-10-27

在(一)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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(三)Qlabel显示图片 的相关文章

  • 常量类成员、赋值运算符和 QList

    请确认我是否正确并告诉我是否有更好的解决方案 我了解具有常量成员的对象 例如int const width 无法由编译器隐式创建的合成赋值运算符处理 但是 QList 我想 std list 也是如此 需要一个有效的赋值运算符 因此 当我想
  • Qt:删除富文本

    对于明文有QFontMetrics elideText https doc qt io qt 5 qfontmetrics html elidedText https doc qt io qt 5 qfontmetrics html eli
  • 如何将枚举类传递给 QML?

    我正在学习QML with Qt并在通过时遇到一些麻烦enum class to qml 当我使用信号时int参数 一切正常 代码运行完美 But 麻烦就在这里 如果我使用信号与一些enum class我有参数undefinedqml 信号
  • 如何从 Qt 应用程序通过 ODBC 连接到 MySQL 数据库?

    我有一个新安装的 MySQL 服务器 它监听 localhost 3306 从 Qt 应用程序连接到它的正确方法是什么 原来我需要将MySQL添加到ODBC数据源 我在遵循这个视频教程后做到了这一点 https youtu be K3GZi
  • 如何将flex和bison与Qt项目集成?

    我正在 git 源代码控制下使用 Qt4 制作 GUI 程序 Github页面 https github com vinayak garg dic sim 项目的一小部分需要扫描和解析 所以我想在项目中使用flex和bison 我能想到3种
  • 如何在不同的QT线程中创建一个窗口?

    我有一个应用程序 其中每个线程 主线程除外 都需要创建自己的窗口 我尝试创建一个线程然后调用this gt exec in the run功能 然而 在我接到那个电话之前我就收到了一个错误 ASSERT failure in QWidget
  • 如何使用 qt 库中的调试符号为 qt 5.5 创建开发 shell

    我有一个开发外壳buildInputs条目包括qt55 qtbase 这很好用 今天 我在 qt 库中发生了段错误 我想要带有调试符号的 qt 库 我看了一下nixpkgs pkgs development libraries qt 5 5
  • 无法将 [未定义] 分配给 QColor

    我正在使用 Qt 5 11 构建 运行代码 代码中有QML风格如下 Button style delegate Component id enabledButtonStyle ButtonStyle padding top 0 paddin
  • 在 QtCreator 中调试时如何查看 qDebug 消息

    我正在从 Eclipse CDT 带有 Qt 集成插件 过渡到 QtCreator 2 0 但仍有一件事困扰着我 QtCreator 当我在 QtCreator 中调试时 我在Application output tab直到我停止正在调试的
  • 在另一个中使用 QAbstractListModel

    我在尝试使用 Qt QML 为我的应用程序开发数据模型时遇到问题 我已经用过一个QAbstractListModel能够将海关数据模型从 C 传递到 QML 并且它对于简单模型 例如基于字符串和布尔的模型 来说就像一个魅力 但现在我需要建立
  • PyQt:如何通过匿名代理使用网页

    这真让我抓狂 我想在 QWebPage 中显示一个 url 但我想通过匿名代理来实现 Code setting up the proxy proxy QNetworkProxy proxy setHostName 189 75 98 199
  • Qt:关闭期间线程仍在运行时 qthread 被销毁

    我有一堂课 class centralDataPool public QObject Q OBJECT public centralDataPool QObject parent 0 centralDataPool commMonitor
  • 仅当从 Qt 连接时网页返回 HTTP 406 错误

    我有一个测试页面设置http mlecturedownload com test qt php http mlecturedownload com test qt php有以下代码
  • Qmake 不支持源目录下的构建目录

    我创建了一个可以在 OS X 上编译和运行的应用程序 我现在想开始让它在 Windows 上运行 首先 我将项目复制到 Windows 机器上并尝试编译 但收到此错误 警告 Qmake不支持源目录下的构建目录 有任何想法吗 将影子构建目录设
  • PyQt:使用 alpha 通道创建 QPixmap,而不是预乘颜色通道

    我想创建一个 QPixmap 来使用 QPainter 进行绘制 QPixmap 应支持透明度 而不使用预乘颜色通道 目前 我通过创建具有所需尺寸的 QPixmap 并用每个通道 包括 alpha 设置为零的 QColor 填充它来实现此目
  • 如何使用样式表删除 QWizard 中的水平线?

    我正在研究一个样式表QWizard我想删除按钮上方的水平线 我已经发布了一个最小的例子here https stackoverflow com q 52538669 8570451 这个问题是由scopchanov从最小的例子中解决的 但是
  • 使用样式表时的 QTabWidget tabPosition

    我目前正在使用样式表来设计应用程序的主题 这是我用于 QTabWidget 的样式表 QTabBar et QTabWidget QTabBar tab background qlineargradient spread pad x1 0
  • 使用信号和槽更新指针

    我对 Qt 很陌生 请帮我解决这个问题 我正在使用线程在后台执行密集操作 同时我想更新 UI 所以我使用 SIGNALS 和 SLOTS 为了更新 UI 我发出一个信号并更新 UI 让我们考虑下面的示例代码 struct sample QS
  • 如何阻止 Qt Creator 将可执行文件放置在“调试”子目录中?

    我正在 Qt Creator 中构建一个项目 虽然我不关心中间 obj 文件去哪里 但重要的是最终的可执行文件应放入 并运行 许多依赖项 DLL 等所在的特定目录中 被发现 因此 在 Qt Creator 中 我选择 Shadow Buil
  • 渲染具有透明度的纹理时,OpenGL 不需要的像素

    我已经为这个问题苦苦挣扎了一段时间了 当我使用 OpenGL 渲染 2D 纹理 在无透明度和部分透明度之间的过渡上具有透明度值 时 我得到了一些烦人的灰色像素 我认为这是像素值插值的产物 关于如何改进这一点有什么想法吗 I m attach

随机推荐

  • windows 下C++生成Dump调试文件与分析

    目录 1 前言 2 依赖库下载 3 项目配置 3 1 设置输出路径 3 2 拷贝依赖资源 3 3 将dbghelp h添加在工程中 3 4 配置lib文件路径 3 5 添加生成minidump文件方法 4 测试效果 5 打开dump文件进行
  • 提升网络安全防御能力的几个方面

    提升网络安全防御能力对于个人和组织来说都至关重要 网络安全是一个全面的概念 包括保护个人信息 防止恶意攻击和确保网络资源的安全 在这篇文章中 我将介绍几个方面来提高网络安全防御能力其中包括IP地址查询 首先 IP地址查询是一种网络安全工具可
  • C均值(K-means)聚类算法 实验

    文章目录 一 实验目的 二 实验原理 三 实验内容 四 实验步骤 1 1 随机创建100个样本的二维数据作为训练集并画出训练样本的散点图 1 2 3 进行聚类并画出聚类结果的散点图 2 1 导入iris数据集数据 2 2 3 进行聚类并画出
  • ROS系统开发——ROS,realsense风险和解决方案备忘录

    未能确认原因的重大风险问题 开启4个相机时 有时候会出现只能打开2个 或3个相机的情况 还有一个相机无法开启 2021 3 23 详细现象 长时间测试4个realsense相机过程中 使用roslaunch命令同时开启4个相机时 有时候随机
  • 【List】类型检查

    public static
  • @TableId(value = “id“,type = IdType.AUTO) 设置后无效的解决办法

    TableId value id type IdType AUTO TableId value id type IdType INPUT 刚开始自增一直是32位的 TableId value id type IdType AUTO priv
  • 如何查看中科院分区

    中科院分区和JCR分区查询 jcr分区查询官网 xing meng的博客 CSDN博客
  • 如何让自动化测试框架更自动化?

    一 引言 对于大厂的同学来说 接口自动化是个老生常谈的话题了 毕竟每年的MTSC大会议题都已经能佐证了 不是大数据测试 就是AI测试等等 越来越高大上了 不可否认这些专项的方向是质量智能化发展的方向 但是凡事都遵循2 8定律 80 的从事软
  • oracle中exp/imp命令详解

    ORACLE数据库有两类备份方法 第一类为物理备份 该方法实现数据库的完整恢复 但数据库必须运行在归挡模式下 业务数据库在非归挡模式下运行 且需要极大的外部存储设备 例如磁带库 第二类备份方式为逻辑备份 业务数据库采用此种方式 此方法不需要
  • 使用OpenCV+Python进行图像处理的初学者指南

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 介绍 我们都知道一句话 每张照片都可以告诉我们一个故事 图像中可能隐藏着很多信息 我们可以用不同的方式和视角来解释它 那么 什么是图像 如何处理图像 简而言之 我们可以说
  • 类加载机制—详解

    1 类加载 class 文件中都是一个一个的二进制 通过前面个两个字节进行判断 2 双亲委托机制 class 文件通过类加载器进入到 JVM虚拟机中运行 2 1类加载器 类加载器分为两种 一种是引导类加载器 启动类加载器是已经提供好的 一种
  • 世间万物,音乐不可辜负

    世间万物 唯有爱不可辜负 爱 除了来自家人的亲情 恋人的爱情 朋友的友情 爱 还来自你对世间万物的感受 比如 美食 通过嗅觉 品尝到美味 又比如音乐 通过听觉 调动你的情绪 激发你的想象力 共情能力 愉悦你的身心 安慰你 鼓励你 今天 跟大
  • 大数据实战 Linux Ubuntu 20.04.1 server 最小化安装及其网络配置

    1 Uduntu 的诞生 Ubuntu是一个以桌面应用为主的Linux操作系统 其名称来自非洲南部祖鲁语或豪萨语的 ubuntu 一词 意思是 人性 我的存在是因为大家的存在 是非洲传统的一种价值观 buntu Linux是由南非人马克 沙
  • 【Linux篇】fwrite函数

    include
  • 深入理解 synchronized 关键字

    看书的时候 看到这里 觉得有必要记录一下 那就顺手写一下 先看一下 synchronized 的官方解释的翻译 synchronized 关键字可以实现一个简单的策略来防止线程干扰和内存一致性错误 如果一个对象对多个线程是可见的 那么该对象
  • node.JS之中转服务器

    经过前面node的学习 我们对node已经有了一定的了解下面我直接上中转服务器实现过程和思路说明 let http require http let https require https var iconv require iconv l
  • mysql的binlog详解

    author skate time 2012 03 27 mysql的binlog详解 什么是binlog binlog日志用于记录所有更新了数据或者已经潜在更新了数据 例如 没有匹配任何行的一个DELETE 的所有语句 语句以 事件 的形
  • 洛谷T160512 G - 森林(并查集)

    题目思路 按照正常的并查集思路来想的话 对于操作一 分裂成两颗树后 比较难维护的是其中一颗子树的所有子节点的祖先节点 因为 在find找祖先节点的时候会找到分裂前的的那个祖先节点 如果给每个子节点都更改的话 复杂度不允许 但是 如果我们把删
  • 【Yarn】yarn源码阅读之AsyncDispatcher

    文章目录 1 概述 1 1 图示如下 2 源码解读 2 1 继承关系 2 2 构造方法 2 3 serviceInit方法 2 4 serviceStart 2 5 dispatch 2 6 注册类型方法 2 7 GenericEventH
  • (三)Qlabel显示图片

    在 一 QT学习中 我们说过label这个控件是可以显示图片的 那么这篇让我们看下如何显示图片 首先让我们创建一个项目picture 为项目布置上对应的控件label 让图片显示在label上 代码很简单 如下 QLabel abel ne