pyqt5-动画组QAnimationGroup

from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QLabel
import sys
from PyQt5.QtCore import QPropertyAnimation,QPoint,QParallelAnimationGroup,QSequentialAnimationGroup class win(QWidget):
def __init__(self):
super().__init__()
self.resize(400,400)
self.setWindowTitle('动画学习')
btn=QPushButton('按钮',self)
btn.clicked.connect(self.AA)
btn.move(150,350)
lab1=QLabel('动画1',self)
lab1.setStyleSheet('background-color:yellow')
lab2 = QLabel('动画2', self)
lab2.setStyleSheet('background-color:red')
lab2.move(350,0)
lab3 = QLabel('动画3', self)
lab3.setStyleSheet('background-color:blue')
lab3.move(350,350)
ani1 = QPropertyAnimation(self)
ani2 = QPropertyAnimation(self)
ani3 = QPropertyAnimation(self)
ani1.setTargetObject(lab1)
ani2.setTargetObject(lab2)
ani3.setTargetObject(lab3)
ani1.setPropertyName(b'pos')
ani2.setPropertyName(b'pos')
ani3.setPropertyName(b'pos')
ani1.setStartValue(QPoint(0, 0))
ani2.setStartValue(QPoint(350, 0))
ani3.setStartValue(QPoint(350, 350))
ani1.setEndValue(QPoint(350, 0))
ani2.setEndValue(QPoint(350, 350))
ani3.setEndValue(QPoint(350, 0))
ani1.setDuration(5000)
ani2.setDuration(5000)
ani3.setDuration(5000) #pani=QParallelAnimationGroup(self) #创建并行动画组
#并行动画组就是组内的动画同时执行
pani = QSequentialAnimationGroup(self) #创建串行动画组
#串行动画组就是组内动画按照顺序一个一个执行
self.pani=pani
pani.addAnimation(ani1) #往动画组里添加动画
#pani.addPause(5000) #添加暂停时间----并行动画没有这个指令
#currentAnimation() -> QAbstractAnimation----并行动画没有这个指令
pani.addAnimation(ani2)
pani.insertAnimation(1,ani3) #插入动画
#参数1 序号 #removeAnimation(QAbstractAnimation animation) 移除动画
#animationAt(int index) -> QAbstractAnimation 获取动画
#takeAnimation(int index) -> QAbstractAnimation 获取并移除
#animationCount() -> int 动画个数
#clear() 清空动画 pani.start() #启动动画组 def AA(self):
self.pani.pause() #暂停动画组所有动画
#其它指令看属性动画 if __name__=='__main__':
app=QApplication(sys.argv)
w=win()
w.show()
sys.exit(app.exec_())
天子骄龙
pyqt5-动画组QAnimationGroup的更多相关文章
- 并行动画组QParallelAnimationGroup
QParallelAnimationGroup会同时执行添加到该组的所有动画 import sys from PyQt5.QtGui import QPixmap from PyQt5.QtCore ...
- iOS 动画组
其实早在一个多月以前就已经实现了动作组播放的功能,不过当时感觉好像没有什么难度并没有放在心上,今天突然要用到动画组,发现已经忘记了,所以又将原来的代码翻出来看了下.最后决定还是写下来,以备不时之需.动 ...
- 之三:CAAnimationGroup - 动画组
动画组顾名思义就是将多个不同的动画效果组合起来同时作用于一个层上 代码演示: // 创建基本路径 CGMutablePathRef path = CGPathCreateMutable(); // 设 ...
- IOS第18天(9,核心动画-动画组)
****动画组 // 核心动画都是假象,不能改变layer的真实属性的值// 展示的位置和实际的位置不同.实际位置永远在最开始位置 #import "HMViewController.h&q ...
- iOS:核心动画之动画组CAAnimationGroup
CAAnimationGroup——动画组 动画组,是CAAnimation的子类,可以保存一组动画对象,将CAAnimationGroup对象加入层后,组中所有动画对象可以同时并发运行 属性说明: ...
- IOS-用动画组制作花瓣掉落效果(另附iOS动画图表)
重要的两个方法:1.动画的数组:animations 2.启动的时间 beginTime 注意:动画组设置了持续时间(duration)可能会导致动画组里面的持续时间不管用 代码如下: #import ...
- Core Animation 动画的使用:关键帧动画、基础动画、动画组
首先让我们了解下什么是 Core Animation,Core Animation 为核心动画,他为图形渲染和动画提供了基础.使用核心动画,我们只需要设置起点.终点.关键帧等一些参数,剩下的工作核心动 ...
- swift 设置图片动画组 iOS11之前 默认图片 设置不成功
在iOS 11 上, 1.先执行动画组 在设置图片执行帧动画,2.先设置图片在设置帧动画,执行帧动画 没有任何问题 在iOS 10和iOS9上,必须 执行 方法二(先设置图片在设置帧动画,执行帧动画 ...
- ios基础动画、关键帧动画、动画组、转场动画等
概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画 ...
随机推荐
- Spring MVC -- 去掉静态资源的拦截
<!-- springmvc的前端控制器 --> <servlet> <servlet-name>springMVC</servlet-name> &l ...
- Linux进程: task_struct结构体成员
一:简介 为了管理进程,内核必须对每个进程所做的事情进行清除的描叙. 比如:内核必须知道进程优先级,他是正在CPU上运行还是因为某些事件被阻塞了,给它分配了什么样的地址空间,允许它访问哪个文件等等.这 ...
- P1706 【全排列问题】
超级无敌大题面~~ 这题倒也花了我不少时间,不停想节省空间,但这也确实是最省的了... 主要思路呢,要注意标记数有没有选过,并标记每个数的输出顺序.. 具体注释见代码: #include<cst ...
- docker 运行mysql最新版本用navicat连接报错:1251
主要是:新版的mysql的加密方式发生了变化,解决方法如下: 1:进入docker容器: docker exec -it mysql(启动mysql时候起的别名) /bin/bash 2:登陆my ...
- 配置java开发环境,存在多个版本JDK时,怎样让所需版本生效
我本地有个1.7.0的java版本,后来我新装了一个13的版本,但是命令行查java版本的时候,生效的还是1.7.0的版本,经过资料查询以及自身亲测,现将过程记录如下: 1.电脑右键选择--属性--高 ...
- Robots协议一定放在网站根目录下
一.网络爬虫的尺寸 1.以爬取网页,玩转网页为目的进行小规模,数据量小对爬取速度不敏感的可以使用request库实现功能(占90%) 2.以爬取网站或爬取系列网站为目的,比如说获取一个或多个旅游网站的 ...
- 修改Docker0网桥默认网段
Docker--修改Docker0网桥默认网段 修改文件 /etc/docker/daemon.json 添加内容 "bip": "ip/netmask" [ ...
- MySQL5.6解压版服务无法启动—系统错误1067
记录一下今天被坑了一下午的BUG 就从半个月前说起吧 当时....................................................................... ...
- 头大!RabbitMQ 和 Kafka 到底怎么选?
前言 开源社区有好多优秀的队列中间件,比如RabbitMQ和Kafka,每个队列都貌似有其特性,在进行工程选择时,往往眼花缭乱,不知所措. 对于RabbitMQ和Kafka,到底应该选哪个? Rabb ...
- str 小列题
name = " aleX leNb "#2.有变量 完成如下操作: 移除 name 变量对应的值两边的空格,并输出处理结果 name=name.strip() print(nam ...