关于QPropertyAnimation的基础知识见PySide(PyQt)的QPropertyAnimation(属性动画)-优快云博客
原理和语句都很简单。然而在实践使用中 ,还是踩了坑,耗了一下午的时间才解决。
看代码:
from PyQt5.QtCore import QPropertyAnimation, QSize, QEasingCurve
from PyQt5.QtWidgets import QApplication, QVBoxLayout, QWidget, QLabel
app = QApplication([])
# 创建一个窗口
window = QWidget()
window.setGeometry(100, 100, 800, 300)
layout = QVBoxLayout(window)
# 创建一个标签
label = QLabel("Animate Me")
label.setStyleSheet('border:2px solid #b6b6b6;background-color:#e0e0e0;')
label.setFixedHeight(40) # 固定按钮的高度
layout.addWidget(label)
# 创建 QPropertyAnimation 对象
animation = QPropertyAnimation(label, b"size")
# 设置动画的起始值和结束值
start_size = label.size()
end_size = QSize(300, label.height()) # 目标宽度为300&#x