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中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画 ...
随机推荐
- WPF DispatcherTimer GC回收
static DispatcherTimer GCTimer = new DispatcherTimer(); public static void BeginGC() { GCTimer.Inter ...
- 原生dapper中新增用户后根据用户id,在用户角色表中添加关联数据,事务处理
var result = 0; var userId = 0; using (var db = _Sql.Connection) using (var tran =db.BeginTransactio ...
- 【ABAP系列】SAP ABAP 关于FUNCTION-POOL的理解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 关于FUNCT ...
- screen重新连接会话
1.# yum -y install screen 2.# screen 3.# /usr/local/kibana/bin/kibana (具体使用案例) 然后按ctrl+a+d组合键,暂时断开s ...
- 【OpenCV开发】imread和imwrite的类型以及第三个参数关于图片压缩质量等
本片参考博客:http://blog.csdn.net/poem_qianmo/article/details/20537737 基于OpenCV3.0,与原博客有出入. 在OpenCV1.0时代,基 ...
- 【VS开发】【图像处理】 bayer, yuv, RGB转换方法
因为我的STVxxx USB camera输出格式是bayer格式,手头上只有YUVTOOLS这个查看工具,没法验证STVxxx在开发板上是否正常工作. 网上找了很久也没找到格式转换工具,最后放弃了, ...
- 微信小程序开发(三)----- 云开发案例
1.发送请求 2.云函数中发送请求,例子request https://github.com/request/request-promise 创建云函数movielist,右键在终端打开,输入 ...
- js and java 中正则表达式的使用
首先介绍一下js当中的几个关键的正则表达式: 1.js中的正则表达式校验 a: RegExp(如果这里有转义字符的话,需要使用“\\”) var patt1=new RegExp("e&qu ...
- C#/.NET/.NET Core定时任务调度的方法或者组件有哪些--Timer,FluentScheduler还是...
原文:C#/.NET/.NET Core定时任务调度的方法或者组件有哪些--Timer,FluentScheduler还是... 原文由Rector首发于 码友网 之 <C#/.NET/.NET ...
- mysql复制表结构,复制表数据
MYSQL 复制表 show create table table_name:查看表的建表语句.该语句包含了原数据表的结构,索引等. 使用 SHOW CREATE TABLE 命令获取创建数据表(CR ...