当前位置: 代码网 > it编程>编程语言>Java > PySide(PyQt)使用QPropertyAnimation制作动态界面的示例代码

PySide(PyQt)使用QPropertyAnimation制作动态界面的示例代码

2025年03月17日 Java 我要评论
主脚本:# encoding: utf-8import osimport sysfrom pyside6.qtcore import qpropertyanimation, qeasingcurvef

 主脚本:

# 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动态界面内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com