最近在做项目的播放器部分,在实现播放器像网易云那样点击播放唱片就会自动转动时遇到了问题,经过一套搜索引擎组合拳,终于是实现了该功能,成品如下
闲话少说,上代码(代码部分做了大量的注释和个人理解,就不额外的解释了,因为我也是查大佬的案例过来的,所以理解仅供参考)
"""唱片"""
class Cp_Comp_1(QObject):
def __init__(self):
super(Cp_Comp_1, self).__init__()
# 加载图片资源
pixmap_1 = QPixmap('./img/main_UI/play/play_cp_comp1.png')
# 按比例设置图片大小
scaledPixmap_1 = pixmap_1.scaled(150,150)
# 初始化动作
self.animation()
# 定义QGraphicsPixmapItem
self.pixmap_item_1 = QGraphicsPixmapItem(scaledPixmap_1)
# 设置item旋转的中心点
self.pixmap_item_1.setTransformOriginPoint(75,75) # 中心
# 设置图片的初始位置
self.pixmap_item_1.setPos(0,30)
def _set_rotation(self,degree):
self.pixmap_item_1.setRotation(degree) # 自身改变角度
def animation(self):
# 创建唱片360°无死角转动
self.anim = QPropertyAnimation(self, b'rotation'

本文分享了一个使用PyQt5实现唱片播放动画的案例,通过自定义组件和属性动画,实现了唱片的自动旋转及把柄的开合效果。

最低0.47元/天 解锁文章
3289

被折叠的 条评论
为什么被折叠?



