Pyqt 以OOP方式动画的效果改变自身窗体大小
动画 方式 效果 大小 改变 窗体 Pyqt 自身
2023-09-11 14:17:02 时间
代码:
1 # -*- coding:utf8 -*- 2 from PyQt4.QtGui import * 3 from PyQt4.QtCore import * 4 import sys 5 6 class ani(QWidget): 7 def __init__(self): 8 super(ani, self).__init__() 9 self.OrigHeight = 50 10 self.ChangeHeight = 150 11 self.setGeometry(QRect(500, 400, 150, self.OrigHeight)) # 在X=500, Y=400 , Length=150 , Height=50 12 self.btn = QPushButton(u'展开', self) 13 self.btn.setGeometry(10, 10, 60, 35) 14 self.machine = QStateMachine() 15 self.connect(self.btn, SIGNAL('clicked()'), self.change) 16 17 # 动画效果修改窗体大小 18 def change(self): 19 CurrentHeight = self.height() 20 if self.OrigHeight == CurrentHeight: 21 startHeight = self.OrigHeight 22 endHeight = self.ChangeHeight 23 self.btn.setText(u'收缩') 24 else: 25 startHeight = self.ChangeHeight 26 endHeight = self.OrigHeight 27 self.btn.setText(u'展开') 28 self.animation = QPropertyAnimation(window, 'geometry') 29 self.animation.setDuration(800) 30 self.animation.setStartValue(QRect(500, 400, 150, startHeight)) 31 self.animation.setEndValue(QRect(500, 400, 150, endHeight)) 32 self.animation.start() 33 34 35 36 if __name__ == '__main__': 37 app = QApplication(sys.argv) 38 window = ani() 39 window.show() 40 sys.exit(app.exec_())
效果:
相关文章
- Osg-OSG利用DrawCallback实现动画效果(Qt5.14.2+osgE3.6.5+win10)-No24-DrawCallback
- Windows 7个性化配置,关闭Win7动画效果,设置窗口背景为“ 豆绿色”,移动“我的文档”
- Android播放gif动画,增加屏幕掉金币效果
- 动画之小结(待整理)
- OpenGL—Android 开机动画源码分析一
- C/C++基础讲解(五十六)之图形篇(屏幕检测程序/运动的小车动画)
- Android:多个Fragment切换问题/切换动画设置
- 简单的一个盒子移动到另一个盒子,你用什么方式实现动画效果
- SAP UI5 Fiori flower动画效果的实现明细
- JavaScript实现的水珠动画效果
- 不到200行代码实现一个不断旋转的椭圆动画效果
- iOS push动画有延迟
- Android SurfaceView动画(二)
- WPF 自定义控件 动画仪表盘控件 Gauge
- WPF中实现动画的几种效果(最基础方式)
- Love:程序猿的方式~【情人节&520—我爱你】~动画加音效 → 那些年最浪漫的表白(帮你得到你的她)
- Taro React组件开发(1) —— Overlay 遮罩层【渐入渐出动画遮罩层】