简易桌面宠物开发指南:用Python和PyQt5打造你的春野樱小小陪伴助力(没有麻烦的可以弄一个麻烦麻烦)

 

1. 前言:当代码遇上二次元

       各位程序员小伙伴们好呀!今天我们要用Python和PyQt5打造一个超可爱的桌面宠物,今日模特小樱!想象一下,你深夜写代码写到头秃的时候,桌面上有个萌萌的小樱陪着你,是不是瞬间动力满满?

      只做了建议开发,更多功能自行挖掘。(主要原因:没找到太多图片素材。)

2. 项目概述

2.1 功能亮点

  • 🎭 多种表情动作随机切换
  • 🏃‍♀️ 上下移动的活泼效果
  • 🛏️ 睡觉模式(摸鱼必备)
  • 🖱️ 右键菜单控制
  • 🎨 透明背景,不遮挡工作区

 

2.2 技术栈

  • Python 3.x
  • PyQt5
  • 多线程处理
  • 定时器控制动画

3. 代码详解

3.1 初始化设置

class DesktopPet(QWidget):
    tool_name = '桌面宠物'
    
    def __init__(self, parent=None, **kwargs):
        super(DesktopPet, self).__init__(parent)
        # 动作配置 - 这里可以替换成小樱的各种表情
        self.action_distribution = [['sakura_smile', 'sakura_angry','sakura_shy'],
                                   ['sakura_sleep', 'sakura_heal']]
        # 窗体属性设置
        self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint | Qt.SubWindow)
        self.setAttribute(Qt.WA_TranslucentBackground, True)
        self.resize(150, 150)  # 小樱的完美尺寸

DiffCopyInsert

小贴士:这里的sakura_前缀图片需要你准备一套小樱的表情包哦,建议包含:

  • 微笑(smile)
  • 生气(angry)
  • 害羞(shy)
  • 睡觉(sleep)
  • 医疗忍术(heal) 
  • 诸如此类吧,素材很难找

3.2 动画引擎核心

def randomAct(self):
    # 随机选择一组动作
    if not self.is_running_action:
        self.is_running_action = True
        self.action_images = random.choice(self.pet_images)  # 随机选择小樱的一个表情组
        self.action_max_len = len(self.action_images)
        
def runFrame(self):
    # 播放动画帧
    if self.action_pointer == self.action_max_len:
        self.is_running_action = False  # 小樱表演完啦
    else:
        self.setImage(self.action_images[self.action_pointer])
        self.action_pointer += 1

 

开发趣事:这就像让小樱表演"表情包连续剧",每次随机抽一集播放!

3.3 移动控制

def selfMoveAction(self):
    if self.flag_up:  # 向上移动
        if self.pos().y() > -70:  # 别让小樱飞出屏幕
            self.move(self.position.x(), self.position.y() - 5)
        else:
            self.flag_up = False  # 该往下啦
    else:  # 向下移动
        if self.pos().y() < 700:  # 别让小樱掉到屏幕下面
            self.move(self.position.x(), self.position.y() + 5)
        else:
            self.flag_up = True  # 该往上啦

 

效果比喻:就像小樱在练习查克拉控制,在桌面上上下跳跃!

3.4 右键菜单控制

def rightMenu(self):
    menu = QMenu(self)
    actions = [
        ("移动", "让小樱开始训练", self.moveUpDown),
        ("停止", "让小樱休息一下", self.moveStop),
        ("睡觉", "小樱也需要美容觉", self.moveSleep),
        ("退出", "解除影分身之术", self.quit)
    ]
    # 添加菜单项...

 

火影梗:最后一个选项我们用了"解除影分身之术"

4. 如何自定义你的小樱

4.1 准备素材

  1. 收集小樱的各种表情图片【大家可以去感兴趣的话可以去shimeji那里找找看。】
  2. 图片建议尺寸:150x150像素
  3. 背景透明PNG格式
  4. 命名规范:sakura_动作名称.png(我的命名显然不规范)

4.2 修改配置

# 修改这里添加更多动作组
self.action_distribution = [
    ['sakura_smile', 'sakura_wink', 'sakura_laugh'],
    ['sakura_fight', 'sakura_medical'],
    ['sakura_sleep', 'sakura_dream']
]

 

4.3 进阶定制

  • 添加音效(小樱的语音包)
  • 增加拖拽功能
  • 添加特殊日期彩蛋(比如小樱生日)
  • GitHub上有更完整的功能和惊艳的效果,大家可以去看看https://github.com/Zao-chen/ZcChat

 

5. 结语:让编程更有温度

通过这个项目,我们不仅学会了PyQt5的各种用法,更重要的是为枯燥的编程生活增添了一丝温暖。想象一下当你debug到深夜,桌面上有个小樱对你说:"萨斯给,加油啊!"是不是瞬间被治愈了?

最后的小任务:给你的小樱添加一个"百豪之术"特效模式,当按下某个快捷键时,小樱的额头会出现阴封印图案!

***本项目仅供学习交流,春野樱形象版权归《火影忍者》原作者所有。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值