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的更多相关文章

  1. 并行动画组QParallelAnimationGroup

    QParallelAnimationGroup会同时执行添加到该组的所有动画 import sys from PyQt5.QtGui import QPixmap from PyQt5.QtCore ...

  2. iOS 动画组

    其实早在一个多月以前就已经实现了动作组播放的功能,不过当时感觉好像没有什么难度并没有放在心上,今天突然要用到动画组,发现已经忘记了,所以又将原来的代码翻出来看了下.最后决定还是写下来,以备不时之需.动 ...

  3. 之三:CAAnimationGroup - 动画组

    动画组顾名思义就是将多个不同的动画效果组合起来同时作用于一个层上 代码演示: // 创建基本路径 CGMutablePathRef path = CGPathCreateMutable(); // 设 ...

  4. IOS第18天(9,核心动画-动画组)

    ****动画组 // 核心动画都是假象,不能改变layer的真实属性的值// 展示的位置和实际的位置不同.实际位置永远在最开始位置 #import "HMViewController.h&q ...

  5. iOS:核心动画之动画组CAAnimationGroup

    CAAnimationGroup——动画组 动画组,是CAAnimation的子类,可以保存一组动画对象,将CAAnimationGroup对象加入层后,组中所有动画对象可以同时并发运行 属性说明: ...

  6. IOS-用动画组制作花瓣掉落效果(另附iOS动画图表)

    重要的两个方法:1.动画的数组:animations 2.启动的时间 beginTime 注意:动画组设置了持续时间(duration)可能会导致动画组里面的持续时间不管用 代码如下: #import ...

  7. Core Animation 动画的使用:关键帧动画、基础动画、动画组

    首先让我们了解下什么是 Core Animation,Core Animation 为核心动画,他为图形渲染和动画提供了基础.使用核心动画,我们只需要设置起点.终点.关键帧等一些参数,剩下的工作核心动 ...

  8. swift 设置图片动画组 iOS11之前 默认图片 设置不成功

    在iOS 11 上, 1.先执行动画组 在设置图片执行帧动画,2.先设置图片在设置帧动画,执行帧动画  没有任何问题 在iOS 10和iOS9上,必须 执行 方法二(先设置图片在设置帧动画,执行帧动画 ...

  9. ios基础动画、关键帧动画、动画组、转场动画等

    概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画 ...

随机推荐

  1. flex label如何通过AS3实现颜色设置

    如果你想修改label的颜色,你可以在控件上面直接设置color属性,但是有这样一个情况,有些label的颜色是动态设置的,没办法一开始初始化的时候设置 这个时候就需要在AS当中动态的设置,直接.se ...

  2. django 视图常用操作

    获取参数. 类型是QueryDict https://www.cnblogs.com/zhaoyang-1989/p/11989515.html request.POST.get('参数名') req ...

  3. c# VirtualKeys

    /// <summary> /// Enumeration for virtual keys taken from http://www.pinvoke.net/default.aspx/ ...

  4. java:Oracle(级联删除,左右内外交叉自然连接,子查询,all,any,in)

    1.级联删除: -- 级联删除:裁员,公司倒闭 -- 级联删除(cascade),设置为null(setnull),放任不管(No action) -- cascade:(以一对多为例)如果删除多的一 ...

  5. SpringBoot 和 SpringCloud 之间关系?

    SpringBoot:专注于快速方便的开发单个个体微服务(关注微观):SpringCloud:关注全局的微服务协调治理框架,将SpringBoot开发的一个个单体微服务组合并管理起来(关注宏观):Sp ...

  6. scrapy 正则汉字的提取方法

    [\u4E00-\u9FA5]

  7. [转帖]中国AI芯“觉醒”的五年

    中国AI芯“觉醒”的五年 https://www.cnbeta.com/articles/tech/857863.htm 原来 海思的营收已经超过了按摩店(AMD) 没想到.. 十多款芯片问世,多起并 ...

  8. 列出连通集(DFS及BFS遍历图) -- 数据结构

    题目: 7-1 列出连通集 (30 分) 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递 ...

  9. 原生js:click和onclick本质的区别(转https://www.cnblogs.com/web1/p/6555662.html)

    原生javascript的click在w3c里边的阐述是DOM button对象,也是html DOM click() 方法,可模拟在按钮上的一次鼠标单击. button 对象代表 HTML 文档中的 ...

  10. django-xadmin使用

    django-xadmin使用基础环境为: PS:如下环境如需升级python则先升级python,然后安装django python3.6.4安装: http://www.cnblogs.com/c ...