PySide(PyQt)使用QPropertyAnimation制作动态界面的示例代码
更新时间:2025年03月17日 09:13:03 作者:深蓝海拓
文章介绍了如何使用PySide或PyQt的QPropertyAnimation类来创建动态界面效果,感兴趣的朋友一起看看吧

主脚本:
# encoding: utf-8
import os
import sys
from PySide6.QtCore import QPropertyAnimation, QEasingCurve
from UIS import *
# 主画面类
class MainWindow(QMainWindow, animationButton_ui.Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.run() # 初始化
self.signal_slot() # 信号和槽
# 初始化
def run(self):
self.move(0, 0)
self.show() # 显示画面
# 画面层面的信号和槽
def signal_slot(self):
self.pushButton_2.clicked.connect(lambda: Jobs.btn_animation(self.frame_1))
pass
# 按钮站的槽函数
class Jobs:
@staticmethod
def btn_animation(obj):
ui.animation = QPropertyAnimation(obj, b"minimumWidth")
ui.animation.setDuration(300)
start_size = obj.width()
if obj.width() == 50:
end_size = 150
else:
end_size = 50
ui.animation.setStartValue(start_size)
ui.animation.setEndValue(end_size)
ui.animation.setEasingCurve(QEasingCurve.Linear)
ui.animation.start()
@staticmethod
def Job_todo_2():
pass
# 退出系统前的保存、清理、释放等操作
@staticmethod
def before_quit():
if ui.windows:
for w in ui.windows:
w.close()
# 项目的定义
class UI(QObject): # 将项目定义为QObject,用来管理项目级别的信号和变量
def __init__(self):
super().__init__()
self.run() # 初始化
# 项目的初始化
def run(self):
# 项目层面的信号和槽
def signal_slot():
pass
# 退出系统之前的操作
app.aboutToQuit.connect(Jobs.before_quit)
signal_slot()
# #############################主程序##################################
if __name__ == '__main__':
app = QApplication(sys.argv)
# 项目的实例化
ui = UI()
ui.windows = [] # 所有用到的窗口
# 初始化画面
mainWindow = MainWindow() # 主画面实例化
ui.windows.append(mainWindow)
sys.exit(app.exec())到此这篇关于PySide(PyQt)使用QPropertyAnimation制作动态界面的文章就介绍到这了,更多相关PyQt 使用QPropertyAnimation动态界面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python web.py开发httpserver解决跨域问题实例解析
这篇文章主要介绍了python web.py开发httpserver解决跨域问题实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下2018-02-02
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
这篇文章主要介绍了PyQt5.6+pycharm配置以及pyinstaller生成exe,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-06-06
python-opencv实现视频指定帧数间隔图像的保存功能
这篇文章主要介绍了python-opencv实现视频指定帧数间隔图像的保存的方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-04-04


最新评论