Pyqt 以OOP方式动画的效果改变自身窗体大小

代码:

 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_())

效果:

时间: 2024-10-20 19:53:25

Pyqt 以OOP方式动画的效果改变自身窗体大小的相关文章

[ jquery 效果 slideDown([speed,[easing],[fn]]) slideUp([speed,[easing],[fn]]) ] 此方法用于滑动显示隐藏的被选元素:动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式显示出来。在jQuery 1.3中,上下的padding和margin也会被有动画,效果更流畅

此方法用于滑动显示隐藏的被选元素:动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式显示出来.在jQuery 1.3中,上下的padding和margin也会被有动画,效果更流畅 实例: <!DOCTYPE html><html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my

【学习笔记】jQuery中的动画与效果

1.基本效果 匹配元素从左上角开始变浓变大或缩小到左上角变淡变小 ①隐藏元素 除了可以设置匹配元素的display:none外,可以用以下函数 hide(speed,[callback])  返回值:jQuery  参数-speed:三种预订速度之一的字符串String(slow,normal,fast)或表示动画时长的毫秒数Number  callback:在完成动画时执行的函数,每个匹配元素执行一次 slow=600毫秒  normal=400毫秒  fast=200毫秒 以优雅的动画隐藏所

html5 canvas首屏自适应背景动画循环效果代码

模板描述:html5 canvas首屏自适应背景动画循环效果代码 由于动态图太大,怕以后服务器受不了,所以现在都改为静态图了,大家点击演示地址一样的,希望大家喜欢,你们的支持就是小海的动力!! 欢迎大家积极评论,给出宝贵意见 下 载 演示地址 本文地址:html5 canvas首屏自适应背景动画循环效果代码

导航栏动画的效果

Js 导航栏动画的效果,布布扣,bubuko.com

canvas动画文字效果

Doughnut Chartvar c=document.getElementById("canvas");var ctx=c.getContext("2d");ctx.font="50px sans-serif";ctx.fillText("75%",40,92);//ctx.clearRect(40, 52, 74, 68); var c=document.getElementById("canvas"

实现类似微信语音播放动画的效果

要求就是点击播放按钮,小喇叭开始动,当语音结束后,停止动画.如图: 这需要用到UIImageView的帧动画,该动画可以让一系列图片在特定的时间内按顺序显示出来.需要的素材如下: audio_icon_1 *****分割线***** audio_icon_2 *******分割线*******audio_icon_3 代码如下: // 添加播放时候的动画图片 [_audioBtn addSubview:self.animationview]; [_audioBtn setImage:[UIIma

Qt qml 模拟iphone slide to unlock 的聚光动画文字效果

模拟iphone slide to unlock 的聚光动画文字效果    /底层放淡文字    /前景放高亮文字+半透明遮罩    /动画移动遮罩 Author: surfsky.cnblogs.com 2015-02Lisence: MIT, 请保留本文档说明 [先看效果] [下载] http://download.csdn.net/detail/surfsky/8448175 [核心代码] // 背景文字(灰色) Text{ text: root.text font.pointSize:

如何采用绝对坐标的方式动画方式移动view和如何点击view的时候获取它的cachebitmap并移动

Layout: <?xml version="1.0" encoding="UTF-8"?> <com.example.android_test.MyDragLayer xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rootView" android:layout_width="fill_par

jQuery鼠标悬停内容动画切换效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8&