PyQt5窗口翻转动画
QQ 的界面一直是用来模仿练习做界面的好东西,这里就有一个类似 QQ 登录界面的实现翻转效果,当然这里并没有用两个窗口去做,而是用了 QStackedWidget 包含两个控件做切换,同时单独使用一个窗口做动画绘制。
# 原理说明
用了两个 QLabel 来显示模拟的图片界面,并实现鼠标点击模拟真实的窗口对应位置点击
用了 QStackedWidget 来存放上面的两个界面 QLabel
点击切换时主要是对上面的两个界面进行截图并传递给翻转动画窗口
通过 setWindowOpacity 控制主窗口的显示隐藏(保留任务栏),当然也可以用 hide
动画窗口 FlipWidget.py 主要实现两张图片的翻转显示,考虑到 0-90 和 90-180 之前的情况,以及图片的缩放动画
# 核心实现
主要是在 paintEvent 方法中使用 QTransform 对 QPainter 进行圆心变换以及 rotate 设置翻转角度
同时根据翻转的角度范围对图片进行切换和缩放
def paintEvent(self, event):
super(FlipWid ...