PyQt5设置图片格式及动画
1、缩放图片
'''
使用QImage.Scale(width,height)方法可以来设置图片
'''
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import sys class scaleimage(QWidget):
def __init__(self):
super(scaleimage,self).__init__()
self.setWindowTitle("缩放图片大小") filename="./image/0.jpg"
img=QImage(filename)
label=QLabel(self)
label.setFixedWidth(200)
label.setFixedHeight(200) #第一种方式-手动设置图片的大小尺寸为label的宽度和高度
#忽略比例,平滑化处理
result=img.scaled(label.width(),label.height(),Qt.IgnoreAspectRatio,Qt.SmoothTransformation)
label.setPixmap(QPixmap.fromImage(result)) #第二种方式-设置自比例缩放大小
label2 = QLabel(self)
label2.setFixedWidth(200)
label2.setFixedHeight(200)
label2.setScaledContents(True) #设置自动比例缩放的方式
label2.setPixmap(QPixmap("./image/0.jpg")) # 设置图片显示形式 v=QVBoxLayout()
v.addWidget(label)
v.addWidget(label2)
self.setLayout(v) if __name__=="__main__":
app=QApplication(sys.argv)
p=scaleimage()
p.show()
sys.exit(app.exec_())

2、装载GIF动画
'''
使用QMovie
'''
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import sys class loadgif(QWidget):
def __init__(self):
super(loadgif,self).__init__()
self.setWindowTitle("装载GIF动画")
self.setFixedSize(512,288)
#self.setWindowFlags(Qt.Dialog|Qt.CustomizeWindowHint) #隐藏标题栏,窗口样式 self.movie=QMovie("./image/load.gif") #加载本地动画文件GIF文件
self.label=QLabel(self)
self.label.setMovie(self.movie)
self.movie.start() #开启动画
if __name__=="__main__":
app=QApplication(sys.argv)
p=loadgif()
p.show()
sys.exit(app.exec_())

3、动画效果改变窗口的尺寸
'''
QPropertyAnimation对象
用来控制动态变化的对象
可以动态改变控件的尺寸
'''
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import sys class animwindow(QWidget):
def __init__(self):
super(animwindow,self).__init__()
self.setWindowTitle("动态效果改变窗口的尺寸")
self.OrigHeight=50
self.ChangeHeight=150
self.setGeometry(QRect(500,400,150,self.OrigHeight))
self.b1=QPushButton("展开",self)
self.b1.setGeometry(10,10,60,35)
self.b1.clicked.connect(self.change) def change(self):
currentheight=self.height()
if self.OrigHeight==currentheight:
startheight=self.OrigHeight
endheight=self.ChangeHeight
self.b1.setText("收缩")
else:
startheight = self.ChangeHeight
endheight = self.OrigHeight
self.b1.setText("展开") #利用QPropertyAnimation(self,b'geometry')来进行设置动态改变窗口的尺寸
self.animation=QPropertyAnimation(self,b'geometry')
self.animation.setDuration(500) #设置动态变化的时间间隔为0.5秒
self.animation.setStartValue(QRect(500,400,150,startheight))
self.animation.setEndValue(QRect(500,400,300,endheight))
self.animation.start() #开始动态变化 if __name__=="__main__":
app=QApplication(sys.argv)
p=animwindow()
p.show()
sys.exit(app.exec_())![]()
4、实现不同移动速度移动窗口
'''
'''
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import sys app=QApplication(sys.argv)
window1=QMainWindow()
window1.show()
window2=QMainWindow()
window2.show() animation1=QPropertyAnimation(window1,b'geometry')
animation2=QPropertyAnimation(window2,b'geometry') #两个窗口动态并行的方式
#group=QParallelAnimationGroup()
#两个窗口动态串行方式
group=QSequentialAnimationGroup()
group.addAnimation(animation1)
group.addAnimation(animation2) animation1.setDuration(3000) #设置动画的时间间隔为3秒
animation1.setStartValue(QRect(0,0,100,30))
animation1.setEndValue(QRect(250,250,100,30))
animation1.setEasingCurve(QEasingCurve.OutBounce) #设置动画变化的实际动态曲线效果形式 animation2.setDuration(4000)
animation2.setStartValue(QRect(250,250,100,30))
animation2.setEndValue(QRect(850,250,100,30))
animation2.setEasingCurve(QEasingCurve.CosineCurve) #设置动画的形式曲线 group.start()
sys.exit(app.exec_())
PyQt5设置图片格式及动画的更多相关文章
- Unity一键设置导入图片格式
前几天由于项目原因,做了一个自动根据模型自动创建动画状态机,然后紧接着做了根据动画状态机和模型一键制作Prefab. 现在因为图片数量或者其它原因需要写一个一键设置图片格式的插件. 至于制作动画状态机 ...
- 在word里插入图片,并设置图片的格式
由于公司业务需要,需要在生成的word里插入图片(公司印章),仔细想了下,还是在word模板里添加一个书签,然后再该书签的位置插入图片,并设置图片的格式方便些: 代码如下: using System; ...
- swift 设置图片动画组 iOS11之前 默认图片 设置不成功
在iOS 11 上, 1.先执行动画组 在设置图片执行帧动画,2.先设置图片在设置帧动画,执行帧动画 没有任何问题 在iOS 10和iOS9上,必须 执行 方法二(先设置图片在设置帧动画,执行帧动画 ...
- python 将png图片格式转换生成gif动画
先看知乎上面的一个连接 用Python写过哪些[脑洞大开]的小工具? https://www.zhihu.com/question/33646570/answer/157806339 这个哥们通过爬气 ...
- 前端工程师技能之photoshop巧用系列第四篇——图片格式
× 目录 [1]图片格式 [2]保存设置 前面的话 对于前端来说,图片格式是需要重要掌握的知识.本文是photoshop巧用系列第四篇——图片格式 图片格式 目前在前端的开发中常用的图片格式有jpg. ...
- png、jpg、gif三种图片格式的区别
png.jpg.gif三种图片格式的区别 2014-06-17 为什么想整理这方面的类容,我觉得就像油画家要了解他的颜料和画布.雕塑家要了解他的石材一样,作为网页设计师也应该对图片格式的特性有一定 ...
- Google最新的图片格式WEBP全面解析
前言 不管是 PC 还是移动端,图片一直是流量大头,以苹果公司 Retina 产品为代表的高 PPI 屏对图片的质量提出了更高的要求,如何保证在图片的精细度不降低的前提下缩小图片体积,成为了一个有价值 ...
- 关于webp图片格式初探
前言 不管是 PC 还是移动端,图片一直是流量大头,以苹果公司 Retina 产品为代表的高 PPI 屏对图片的质量提出了更高的要求,如何保证在图片的精细度不降低的前提下缩小图片体积,成为了一个有价值 ...
- PNG,JPEG,BMP,JIF图片格式详解及其对比
原文地址:http://blog.csdn.net/u012611878/article/details/52215985 图片格式详解 不知道大家有没有注意过网页里,手机里,平板里的图片,事实上,图 ...
随机推荐
- 【C语言】用C语言输出“心形”图案
在你们的世界里,是不是觉得程序猿一点浪漫都不懂?其实不是的,程序猿的世界也是很浪漫滴! 傻瓜版 int main() { printf("❤"); ; } 高级版 //版本一:单个 ...
- poj 2195 Going Home(最小费用流)
题目链接:http://poj.org/problem?id=2195 题目大意是给一张网格,网格中m代表人,h代表房子,网格中的房子和人数量相等,人可以向上向下走,每走1步花费加1,每个房子只能住一 ...
- Vue - 动态组件 & 异步组件
动态组件 <div id="app"> <components :is="com[2]"></components> < ...
- [vue学习]快速搭建一个项目
安装node.js 官网:https://nodejs.org/en/ 淘宝NPM镜像(npm是外网,用国内代理下载安装贼快) $ npm install -g cnpm --registry=htt ...
- 微信小程序使用wxParse实现接入富文本编辑
简介 微信小程序中比如活动说明,简介这样的图文介绍说明页面,后台通常配置成富文本编辑框,由后台直接输入内容,然后在小程序界面展现. 但是富文本编辑提取到内容是html格式的,写法与小程序的wxml并不 ...
- 前端——语言——Core JS——《The good part》读书笔记——第九,十章节(Style,Good Features)
第九章节 本章节不再介绍知识点,而是作者在提倡大家培养良好的编码习惯,使用Good parts of JS,避免Bad parts of JS.它是一篇文章. 本文的1-3段阐述应用在开发过程中总会遇 ...
- 计算机二级-C语言-程序填空题-190109记录-对二维字符串数组的处理
//给定程序,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长.ss所指字符串数组中共有M个字符串,且串长<N. //重难点 ...
- 09-Docker-Volumes数据管理
目录 09-Docker-Volumes数据管理 参考 数据卷类型 数据卷操作 bind数据卷 volume数据卷 tmpfs数据卷 09-Docker-Volumes数据管理 Docker Vers ...
- git密码相关问题
一.解决:每次都需要输入账号密码 git config --global credential.helper store 二.后期git密码更改后,重置密码操作 git config --system ...
- linux 安装 Jenkins
yum的repo中默认没有Jenkins,需要先将Jenkins存储库添加到yum repos,执行下面的命令: wget -O /etc/yum.repos.d/jenkins.repo https ...