Gitee仓库项目报告‑desktop‑pet桌面猫咪宠物

仓库地址:仓库地址:https://gitee.com/noME-LJZ-back/desktop-pet
(需要连接起来成为一个网址)

一、项目概述

本项目是基于Python + PySide6 + Pillow开发的Windows桌面猫咪宠物程序,版本v1.0.0。项目特点为全部精灵图像由代码绘制,不依赖外部图片素材,实现可交互桌面萌宠,兼具养成系统、网络资讯、控制面板、系统托盘、打包部署全套能力,开源协议为MIT许可。

运行环境:Windows10/11,Python3.10及以上版本。

二、技术栈

  1. 编程语言:Python
  2. GUI框架:PySide6,实现透明无边框置顶窗口、深色控制面板、托盘图标
  3. 图像绘制:Pillow,代码生成猫咪所有动作精灵图,支持自定义配色皮肤
  4. 网络请求:异步调用第三方公开接口,获取一言、诗词、天气、快讯、头像资源,不阻塞UI线程
  5. 打包部署:PyInstaller生成exe,Inno‑Setup制作Windows安装包
  6. 数据持久化:JSON本地文件存储宠物状态、用户配置,区分源码运行与exe打包运行的数据路径,个人配置文件加入.gitignore不提交仓库。

三、核心功能

1)宠物养成与动画

  • 内置5套猫咪皮肤,9种动作(待机、眨眼、漫步、睡觉、干饭、开心、委屈等)
  • 三维属性系统:饱腹度、心情、体力随时间自动变化;饿了表现委屈,体力耗尽自动睡眠
  • 交互操作:左键抚摸提升心情、双击切换睡眠状态、鼠标拖拽移动宠物、右键唤起菜单,支持多显示器场景。

2)控制面板与系统能力

  • 深色滚动控制面板,支持改名、切换皮肤,调节宠物大小、移动速度、说话频率;开关自动走动、置顶、提示音、开机自启;配置修改自动保存
  • 系统托盘:托盘图标可显示、隐藏宠物,打开控制面板,管理程序生命周期;支持单实例锁,避免重复启动程序。

3)网络拓展功能(调用第三方开放API)

  • 每日一言、诗词、沙雕语录;60秒看世界快讯;城市天气查询;随机动漫头像获取。接口异常会友好提示网络问题,接口为第三方服务,项目不保证永久可用。

4)扩展与打包

  • 扩展皮肤:直接修改sprites.py的SKINS字典增加配色,无需图片资源,面板自动识别新皮肤选项
  • 完整打包脚本:仓库自带图标生成脚本、PyInstaller spec、Inno‑Setup安装脚本,可直接编译为独立exe与安装程序,注意LGPL许可分发要求。

四、项目模块结构

├── main.py                # 入口、单实例锁、托盘装配
├── make_icon.py           # 生成exe程序图标
├── requirements.txt       # 依赖清单
├── packaging/             # exe、安装包打包脚本
├── docs/                  # 文档预览图片
└── pet_desktop/           # 核心业务包
    ├── sprites.py         # Pillow绘制猫咪精灵
    ├── pet_window.py      # 透明窗口、宠物状态机、鼠标交互
    ├── panel.py           # 设置控制面板UI
    ├── api.py             # 网络接口调用
    ├── dialogs.py         # 弹窗组件
    ├── audio.py           # 音效合成
    ├── config.py          # 配置读写、开机自启注册表
    └── tray.py            # 系统托盘逻辑

五、仓库版本与提交情况

  • 主分支main,共3次提交,初始化v1.0.0版本;后续提交更新LICENSE版权、完善clone地址与下载链接。
  • 文件包含git忽略配置,将用户配置、状态缓存排除,避免个人数据提交公开仓库。
  • 仓库状态:0 Star、0 Fork,4人Watch;包含1个Issue,暂无PR,未发布版本发行包。

六、优缺点与风险点

优点

  1. 无外部图片素材,全部精灵代码生成,皮肤扩展简单;
  2. 完整产品化:配置持久化、开机自启、托盘管理、打包脚本齐全,开箱可打包分发;
  3. UI交互完善,养成逻辑完整,网络功能异步处理不卡顿界面;
  4. MIT协议,可自由修改二次开发。

风险/局限

  1. 仅支持Windows系统,没有适配Linux/macOS;
  2. 网络功能强依赖第三方免费API,接口下线、限流会直接造成部分功能失效;
  3. 开机自启修改Windows注册表;用户需要知悉权限行为;
  4. 动漫头像功能仅做本地缓存,项目不负责图源版权,遵循免责声明使用。

七、运行部署步骤

git clone [https://gitee.com/noME-LJZ-back/desktop-pet.git](https://gitee.com/noME-LJZ-back/desktop-pet.git)
cd desktop-pet
pip install -r requirements.txt
python main.py
# 无控制台启动:pythonw main.py

打包:先运行python make_icon.py,之后执行PyInstaller打包脚本,可选编译安装包。
恢复出厂:删除对应目录下pet_config.json、pet_state.json文件即可重置全部宠物数据与设置。

八、总结

该项目是一套完成度很高的Python桌面小应用,把Qt透明窗口、状态机养成、网络调用、打包分发完整实现。适合学习PySide6桌面开发、代码绘图、JSON配置管理、Windows程序打包。二次开发主要可以优化跨平台适配、增加本地AI对话、新增宠物动作、替换第三方网络接口。


评论已关闭