pyside6在QLabel上显示图像文件

 猫咪的图片:370*280像素

基本的代码:

from PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PySide6.QtGui import QPixmap, Qt

app = QApplication([])

widget = QWidget()
layout = QVBoxLayout(widget)

label = QLabel()
label.setFixedSize(1000, 600)   # 将label的尺寸设为1000*600
pixmap = QPixmap('mm.png')      # 读取和定义图像文件
label.setPixmap(pixmap)        # 设置图像文件到label


layout.addWidget(label)
widget.show()   #  显示

app.exec()

运行结果:原图1:1显示

设置自动缩放:

from PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PySide6.QtGui import QPixmap, Qt

app = QApplication([])

widget = QWidget()
layout = QVBoxLayout(widget)

label = QLabel()
label.setFixedSize(1000, 600)   # 将label的尺寸设为1000*600
pixmap = QPixmap('mm.png')      # 读取和定义图像文件
label.setPixmap(pixmap)        # 设置图像文件到label


# # # 启用自动缩放
label.setScaledContents(True)

layout.addWidget(label)
widget.show()   # 显示

app.exec()

 显示结果:原图的长宽按照label的尺寸自动缩放,如果原图和label的长宽比不同,会有变形。

 设置不变形的缩放:

from PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PySide6.QtGui import QPixmap, Qt

app = QApplication([])

widget = QWidget()
layout = QVBoxLayout(widget)

label = QLabel()
label.setFixedSize(1000, 600)   # 将label的尺寸设为1000*600
pixmap = QPixmap('mm.png')      # 读取和定义图像文件

# 设置不变形缩放后的图片
scaled_pixmap = pixmap.scaled(label.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation)
label.setPixmap(scaled_pixmap)


layout.addWidget(label)
widget.show()   # 显示

app.exec()

显示结果:原图按照最合适的不变形比例进行缩放

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/706331.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【高校科研前沿】北京大学赵鹏军教授团队在Nature Communications发文:揭示城市人群移动的空间方向性

文章简介 论文名称:Unravelling the spatial directionality of urban mobility 第一作者及单位:赵鹏军(教授|第一作者|北京大学)&王浩(博士生|共同一作|北京大学); 通讯作者及单位:赵鹏军…

计算机网络 —— 运输层(TCP三次握手)

计算机网络 —— 运输层(TCP三次握手) 三次握手第一次握手第二次握手第三次握手两次握手行不行? 我们今天来学习TCP的三次握手: 三次握手 TCP三次握手是TCP协议中建立连接的过程,旨在确保双方准备好进行可靠的通信。…

JavaScript之函数

函数 使用 声明语法: function 函数名() {函数体 }命名规范: 小驼峰命名法前缀用动词 前缀词: 调用 函数名()函数传参 为了提高函数的灵活性 声明语法: function 函数名(参数列表) {函数体 }调用 函数名(参数)在函数声…

登录/注册- 滑动拼图验证码(IOS/Swift)

本章介绍如何使用ios开发出滑动拼图验证码,分别OC代码和swift代码调用 1.导入项目model文件OC代码(下载完整Demo) 2.放入你需要显示的图片 一:OC调用 #import "ViewController.h" #import "CodeView.h"…

强大高效,推荐这两款分析文章和抠图的AI工具

ChatDOC ChatDOC是一款基于ChatGPT的AI阅读辅助工具,旨在通过与用户指定的文档进行对话来处理用户的专属数据。它能够帮助用户快速提取文档中的信息,支持多种文件格式,并提供准确的答案。此外,ChatDOC还具备智能格式化、自动摘要生…

使用QT制作QQ登录界面

mywidget.cpp #include "mywidget.h"Mywidget::Mywidget(QWidget *parent): QWidget(parent) {/********制作一个QQ登录界面*********************/this->resize(535,415);//设置登录窗口大小this->setFixedSize(535,415);//固定窗口大小this->setWindowTi…

交换机简介

一、 集线器的替代品—交换机 使用集线器的缺点,因此就设计出了交换机来代替集线器,交换机常见端口数量一般有4、8、16、24、32等数量。 华为交换机:S5720-HI系列 仅从实物图上来看,交换机和集线器非常的像,但是它们的…

【python】通行网格地图四叉树化 (leeccode 427)

【python】通行网格地图四叉树化 受到Leecode 427题的启发,427. 建立四叉树 想将由0和1组成的网格地图绘制为四叉树地图,0表示可通行网格,1表示不可通行网格。 import matplotlib.pyplot as plt import matplotlib.patches as patches …

【ARM Cache 与 MMU/MPU 系列文章 1.2 -- Data Cache 和 Unified Cache 的区别是什么?】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Data Cache and Unified Cache数据缓存 (Data Cache)统一缓存 (Unified Cache)数据缓存与统一缓存的比较小结 Data Cache and Unified Cache 在 ARM架构中,缓存&#xff08…

第3章 Unity 3D着色器系统

3.1 从一个外观着色器程序谈起 新建名为basic_diffuse.shader的文件,被一个名为basic_diffuse.mat的材质文件所引用,而basic_diffuse.mat文件则被场景中名为Sphere的game object的MeshRenderer组件所使用。 basic_diffuse.shader代码文件的内容如下所示…

15.RedHat认证-Ansible自动化运维(上)

15.RedHat认证-Ansible自动化运维(上) RHCE8-RH294 Ansible自动化(Ansible版本是2.8.2) Ansible介绍 1.Ansible是什么? Ansible是一个简单的强大的无代理的自动化运维工具(Ansible是自动化运维工具)Ansible特点 简…

Java——LinkedList

1、链表 1.1 链表的概念及结构 链表在逻辑层面上是连续的,在物理层面上不一定是连续的 链表结构可分为,单向或双向、带头或不带头、循环或非循环,组合共计8种 重点:无头单向非循环链表、无头双向链表 1.2 模拟实现无头单向非…

ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 探测效果(地图探测、地图窥探)

ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 探测效果(地图探测、地图窥探) 实现原理 ArcGIS Maps SDK for JavaScript 从 4.29 开始增加 RenderNode 类,可以添加数据以及操作 FBO(ManagedFBO)&#xf…

影响数字本振信噪比的因素

2048 点 -66 4096 点-72 8192 点-77 16384 点-84

弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门

Docker技术概论 在WSL2中玩转Docker之Docker Engine部署 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://bl…

Java开发规范

1.接口命名规范–Restful API 原本格式是动词资源by传参,后来进化为Restful API,思想是以资源为中心。 动词用get,post,put,delete请求方法代替,by后面的名词用传参代替。 并且GET方法传参资源ID采用路径传参,除了资源ID外的GET…

区间合并——Acwing.803区间合并

区间合并 定义 区间合并是指将一组有重叠或相邻的区间合并成一个或多个更大的区间。 运用情况 图像处理:在图像的区域分析中,可能需要将相邻的具有相似特征的区域进行合并。时间区间处理:比如将多个连续时间段进行合并。行程规划&#xf…

nodejs湖北省智慧乡村旅游平台-计算机毕业设计源码00232

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,旅游行业当然也不能排除在外。智慧乡村旅游平台是以实际运用为开发背景,运用软件工程开发方法,采…

探索JavaScript逆向工程与风控等级

探索JavaScript逆向工程与风控等级 在当今的网络安全领域,JavaScript逆向工程(简称JS逆向)已成为许多开发者和安全专家关注的焦点。JS逆向主要涉及对JavaScript代码的分析与理解,以发现其内部逻辑、数据流及潜在漏洞。这种技术常用…

【GIS】全球范围气象站点的逐年平均气温数据(1929-2023年)

数据简介:气象数据包括气象站点温度、湿度、光照等等。提供自1929-2023年以来的全球逐年平均气温数据气象数据下载。数据源为NCDC(美国国家气候数据中心,National Climatic Data Center),隶属于NOAA(美国国…