在label中添加pixmap来显示图片时,当图片过大时图片显示不全。

1.这时可以使用pixmap的scared()方法,来设置图片缩放。

QPixmap QPixmap.scaled (self, int w, int h, Qt.AspectRatioMode aspectMode = Qt.IgnoreAspectRatio, Qt.TransformationMode mode = Qt.FastTransformation)

Scales the pixmap to the given size, using the aspect ratio and transformation modes specified by aspectRatioMode and transformMode.

If the given size is empty, this function returns a null pixmap.

In some cases it can be more beneficial to draw the pixmap to a painter with a scale set rather than scaling the pixmap. This is the case when the painter is for instance based on OpenGL or when the scale factor changes rapidly.

2.可以使用QLabel.setScaledContents (self, bool)方法来使pixmap自适应label大小

测试代码:

#encoding:utf-8
'''
Created on 2016年7月10日

@author: Administrator
'''
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys

class ImageFrame(QMainWindow):
def __init__(self):
super(ImageFrame, self).__init__()
self.initUI()

def initUI(self):
#窗体设置
self.setGeometry(100, 100, 500, 400)
self.setMaximumSize(500, 400)
self.setMinimumSize(500, 400)
self.setVisible(True)
self.statusBar()
image = QAction(QIcon('open.png'), 'open', self)
image.setShortcut('ctrl+o')
image.setStatusTip('open new image')
self.connect(image, SIGNAL('triggered()'), self.openImage)
toolbar = self.addToolBar('image')
toolbar.addAction(image)
label = QLabel()
label.setGeometry(0, 0, 400, 400)
self.setCentralWidget(label)
layout = QGridLayout()
self.label1 = QLabel()
self.label1.setGeometry(0, 0, 200, 200)
#设置label对齐方式
self.label1.setAlignment(Qt.AlignLeft)
button = QPushButton('edit')
edit = QLineEdit()
layout.addWidget(self.label1, 0, 0)
layout.addWidget(edit, 1, 0)
layout.addWidget(button, 1, 1)
label.setLayout(layout)

self.updataImage()

def openImage(self):
imageName = QFileDialog.getOpenFileName(self,"Open file dialog","/","jpg files(*.jpg)")
self.updataImage(imageName)

def updataImage(self, imageName = 'icon.png'):
pixmap = QPixmap(imageName)
'''图像缩放:使用pixmap的scare方法,参数aspectRatioMode=Qt.KeepAspectRatio设置为等比例缩放,
aspectRatioMode=Qt.IgnoreAspectRatio为不按比例缩放'''
scaredPixmap = pixmap.scaled(400, 400, aspectRatioMode=Qt.KeepAspectRatio)
#图像缩放:使用label的setScaledContents(True)方法,自适应label大小
#self.label1.setScaledContents(True)
print pixmap.height()
print pixmap.width()
self.label1.setPixmap(scaredPixmap)

转载于:https://www.cnblogs.com/daniaofighter/p/5713127.html

pixmap和label设置图片自适应大小相关推荐

  1. python自适应图片大小_pixmap和label设置图片自适应大小

    在label中添加pixmap来显示图片时,当图片过大时图片显示不全. 1.这时可以使用pixmap的scared()方法,来设置图片缩放. QPixmap QPixmap.scaled (self, ...

  2. 轮播图js怎么设置图片自适应大小

    单独的图片控制,用这个: 代码如下: <script> var abc=document.getElementById("abc"); var imgs=abc.get ...

  3. html 中图片自适应大小设置

    一.图片自适应大小 图片设置固定大小(当然width和height至少大于200px的情况下)个人觉得就很影响响应式布局了,可能会使移动端局部发生错乱,所以图片在一个div中自适应大小,个人还是觉得挺 ...

  4. css怎么设置背景图片自适应大小

    在css中,可以利用"background-size"属性设置背景图片自适应大小,该属性用于设置背景图片的大小,只需要给背景图片元素添加"background-size: ...

  5. ReactNative之Image组件自适应高度,图片自适应大小

    因为在现在0.50包括之前的ReactNative版本,Image组件必须要设置宽高才能显示.所以在图片宽高不确定的情况下,如何来让图片自适应 屏幕高度呢? 需求原因:因为做商城详情页面的图片长短不一 ...

  6. HTML 如何让图片自动改变大小,CSS如何设置图片的大小

    原标题:CSS如何设置图片的大小 图片是的基本构成元素,通过img元素的属性值可以调整图片在浏览器中的显示效果,如图片的边框.大小以及为图片设置透明效果等各种样式. 通过img元素的属性值可以调整图片 ...

  7. css自适应图片样式,css怎么让图片自适应?css图片自适应大小的方法介绍

    对于一个网页来说,有一张好看又清晰的背景图片是非常吸引人的,但是并不是每张图片都是有相同的大小,所以就需要晒西安图片的自适应,那么,css怎么让图片自适应呢?本篇文章将来介绍关于css图片自适应大小的 ...

  8. 微信小程序富文本标签 rich-text 图片自适应大小问题

    最近项目新加了一个需求,由于时间比较充足的原因.我完成的很出色,但是无奈测试最后不走寻常路.几句话的说明他加了好多文字还搞了图片,甚至还有了一句经典的名言如果没有 BUG 她就没有工作,叫人苦不堪言. ...

  9. html 图片比例 js,js自动等比例设置图片尺寸大小

    css 图片等比例缩放 首页产品展示的图片都变形了,客户要求图片等比例大小,和产品展示的效果一样: css控制图. 网站的内容页面,经常要放图片,如果图片太大会撑出,影响页面美观. > HTML ...

  10. 让图片自适应大小的方法

    1. 用后台程序自动生成缩略图 2. 用css调用expression控制图片溢出后的大小: (http://www.blog.edu.cn/user1/7987/archives/2006/1440 ...

最新文章

  1. LeetCode: Max Points on a Line
  2. linux c 崩溃调试方法
  3. lcd和服务器同时显示温度,为什么LCD1602不能同时显示温度和时间?
  4. 如何删除一个员工编号及其全部主数据和事务数据?
  5. WinForm 自定义控件属性
  6. python里、能用分支结构写出循环的算法吗_python变量运算符分支结构循环结构及例题...
  7. ubuntu查看gpu使用率_如何监控GPU卡的使用率(Linux)
  8. Java中String的next()和nextLine()方法
  9. 通​过​C​a​c​t​i​监​控​w​i​n​d​o​w​s​资​源
  10. Hibernate一对多双向、单向
  11. c语言程序设计题库 微盘下载,《C语言程序设计》题库及答案.pdf
  12. Qt数据库应用11-通用数据生成器
  13. 用matlab给图片标记区域,MATLAB二值图像连通区域标记(两步法)
  14. 推荐系统 | 基础推荐模型 | GBDT+LR模型 | Python实现
  15. 【日志】学习笔记之看图玩转LTM
  16. mac电脑开机是出现安全启动
  17. 个人博客制作——首页部分
  18. 平板电脑 中柏4s pro 重装win10 系统
  19. #include NOIP2008 Junior 双栈排序 ——using namespace wxl;
  20. 数字联接新动能 | 专访亿联IT总监赖志豪:AI是亿联未来数字化建设的方向

热门文章

  1. nyoj461 Fiboncci数列(4)解通项公式
  2. jq实现底部弹框_WPF MVVM 弹框之等待框
  3. Qt:多线程--子线程间通讯
  4. 自动驾驶 从入门到精通 学习资料汇总 Week1~Week7
  5. 容器技术Docker K8s 22 容器服务ACK基础与进阶-存储管理
  6. 容器技术Docker K8s 19 容器服务ACK基础与进阶-容器网络管理
  7. 12月21诛仙服务器维护,1月21日全服停机更新维护公告
  8. php文件显示代码行数,php统计文件中的代码行数
  9. 2021-09-07912. 排序数组
  10. First Bad Version