基于 PySide6 开发的一款可爱的桌面宠物应用程序,支持多种皮肤切换和丰富的交互功能。
- 可爱动画: 宠物会随机播放各种动画动作
- 拖拽移动: 支持鼠标左键拖拽宠物到任意位置
- 双击互动: 双击宠物会触发特殊互动动画
- 右键菜单: 完整的右键菜单系统
- 系统托盘: 最小化到系统托盘,方便管理
- 配置保存: 自动保存宠物选择、位置、大小等设置
- 多种皮肤: 支持 pet_1 到 pet_64 共64种不同宠物皮肤
- 智能检测: 自动检测可用的皮肤文件
- 即时切换: 右键菜单中可即时切换皮肤
- 状态标记: 当前使用的皮肤会有勾选标记
- 缩放大小: 支持 50% - 200% 六种尺寸缩放
- 动画速度: 五档动画速度调节(很快/快/正常/慢/很慢)
- 随机位置: 一键让宠物移动到屏幕随机位置
- 隐藏显示: 支持隐藏宠物和双击托盘图标恢复显示
- 置顶显示: 始终保持在其他窗口上方
- 透明背景: 完美的透明背景效果
- 状态提示: 操作时显示友好的提示信息
- 安全退出: 多种方式安全退出程序,自动保存配置
- Python 3.7+
- Windows 操作系统
pip install -r requirements.txt或手动安装:
pip install PySide6DesktopPet/
├── main.py # 主程序文件
├── requirements.txt # 依赖文件
├── README.md # 说明文档
├── .gitignore # Git忽略文件
├── pet_config.json # 自动生成的配置文件
├── app/
│ ├── cfg.py # 宠物动作配置
│ ├── config_manager.py # 配置管理模块
│ └── toast.py # 提示信息模块
└── resources/ # 资源文件夹
├── pet_1/ # 宠物皮肤文件夹
│ ├── shime1.png
│ ├── shime2.png
│ └── ...
├── pet_2/
└── ...
python main.py- 左键拖拽: 按住鼠标左键可以拖拽宠物
- 双击互动: 双击宠物触发特殊互动动画
- 右键菜单: 在宠物上右键点击打开功能菜单
- 切换皮肤: 右键菜单 → 切换皮肤 → 选择想要的宠物
- 调整大小: 右键菜单 → 缩放大小 → 选择所需尺寸
- 调整速度: 右键菜单 → 动画速度 → 选择播放速度
- 随机位置: 右键菜单 → 随机位置
- 隐藏/显示: 右键菜单 → 隐藏宠物,或双击托盘图标恢复
- 退出程序: 右键菜单 → 退出程序,或右键系统托盘图标 → 退出
程序会自动保存以下配置到 pet_config.json 文件:
- 当前选择的宠物皮肤
- 宠物在屏幕上的位置
- 宠物的大小缩放比例
- 动画播放速度
下次启动时会自动恢复这些设置。
- 在
resources/目录下创建新的文件夹,命名为pet_X(X为数字) - 将宠物图片文件放入该文件夹
- 图片文件命名格式:
shime1.png,shime2.png, ...,shime46.png - 程序会自动检测并加载新皮肤
在 app/cfg.py 中可以配置宠物动作:
ACTION_DISTRIBUTION = [
['1', '2', '3'], # 动作组1
['4', '5', '6', '7'], # 动作组2
# ... 更多动作组
]- PySide6: Qt6的Python绑定,用于GUI开发
- Python: 主要编程语言
DesktopPet: 主要的宠物类,处理所有交互和显示逻辑ConfigManager: 配置管理类,负责保存和加载用户配置Toast: 提示信息类,显示操作反馈
已实现功能:
- 完整的配置系统(自动保存/加载)
- 缩放和动画速度控制
- 隐藏/显示功能
- 操作反馈提示
- 双击互动
可以在以下方面进行扩展:
- 添加音效支持和背景音乐
- 实现多个宠物同时显示
- 添加宠物对话气泡
- 实现宠物间的互动
- 添加更多动画效果
- 实现宠物喂食和养成系统
- 添加桌面小工具功能(时钟、天气等)
- 部分杀毒软件可能会误报,请添加信任
- 在高分屏上可能需要调整DPI设置
-
v2.0.0 (2025-01-10)
- 新增配置保存和加载功能
- 新增双击互动功能
- 新增缩放大小调节(6档)
- 新增动画速度控制(5档)
- 新增隐藏/显示功能
- 新增操作提示信息
- 新增托盘图标双击恢复显示
- 优化用户体验
-
v1.0.0 (2025-03-11)
- 初始版本发布
- 基础桌面宠物功能
- 右键菜单系统
- 皮肤切换功能
本项目采用 MIT 许可证,详见 LICENSE 文件。
欢迎提交 Issue 和 Pull Request 来帮助改进这个项目!
如有问题或建议,请通过以下方式联系:
- 提交 GitHub Issue
- 发送邮件至项目维护者
享受您的桌面宠物带来的乐趣吧!