1、侧边栏伸缩
侧边栏伸缩涉及到Qt的动画,直接上代码理解
from main_win import *
from PySide6.QtWidgets import QMainWindow
from PySide6.QtCore import QPropertyAnimation, QEasingCurve
from PySide6.QtCore import *
from PySide6.QtGui import *
from PySide6.QtWidgets import *
class UIFuncitons(QMainWindow):
# Expand left menu
def toggleMenu(self, enable):
if enable:
#未伸缩宽68
standard = 68
#伸缩后200
maxExtend = 200
#获取当前侧边栏LeftBar的宽
width = self.LeftBar.width()
#判段伸缩后的侧边栏宽度
if width == 200:
widthExtended = standard
else:
widthExtended = maxExtend
#动画实现
# animation
self.animation = QPropertyAnimation(self.LeftBar, b"minimumWidth")
self.animation.setDuration(500) # ms
self.animation.setStartValue(width)
self.animation.setEndValue(widthExtended)
self.animation.setEasingCurve(QEasingCurve.InOutQuint)
self.animation.start()
主函数调用
self.ui.Hide.clicked.connect(lambda:UIFuncitons.toggleMenu(self.ui,True))
2、主界面设计
上图!!!
具体实现过程见我的B站@鲸可落