🐱 桌面宠物(Desktop Pet)
一个基于 Python + Tkinter 的可爱桌面猫咪互动程序,支持拖拽、点击互动、随机行为、缩放和自定义打包。
✨ 功能特性
- 自由拖拽:点击并拖动猫咪,可将其放在屏幕任意位置。
- 点击互动:单击猫咪会触发随机动画(跳跃、压扁、摇晃)并显示对话气泡。
- 随机行为:猫咪会自主走动、舔毛,并伴有相应气泡文字,仿佛拥有生命。
- 缩放调节:使用鼠标滚轮即可调整猫咪大小(0.3~3.0 倍)。
- 右键菜单:提供调整大小、切换窗口置顶、退出程序等选项。
- 透明背景:支持 PNG 透明图片,完美融入桌面。
- 打包支持:可使用 PyInstaller 打包成单个
.exe文件,无需 Python 环境即可运行。
📦 运行环境
- Python 3.6 及以上
- 依赖库:
tkinter(Python 自带)Pillow(图片处理)
🚀 快速开始
1. 克隆或下载项目
将本仓库所有文件下载到本地,确保目录结构如下:
DesktopPet/
├── desktop_pet_tk.py # 主程序
├── cat_no_bg.png # 猫咪图片(透明背景)
├── pet_icon.ico # (可选)程序图标
└── README.md
text
2. 安装依赖
pip install Pillow
3. 运行
python desktop_pet_tk.py
🛠️ 打包为 EXE(Windows)
如果你想分享给没有 Python 环境的朋友,可以用 PyInstaller 打包:
1. 安装 PyInstaller
pip install pyinstaller
2. 执行打包命令
在项目目录下打开终端,运行:
pyinstaller --onefile --windowed --add-data "cat_no_bg.png;." --icon=pet_icon.ico desktop_pet_tk.py
参数说明:
--onefile:生成单个.exe文件--windowed:隐藏命令行黑窗口--add-data "cat_no_bg.png;.":将猫咪图片打包进 exe,运行时解压到临时目录--icon=pet_icon.ico:为 exe 文件设置自定义图标(需准备.ico文件)
打包完成后,在 dist 文件夹中找到 desktop_pet_tk.exe,双击即可运行。
提示:如果打包后程序找不到图片,请确保代码中已正确使用
sys._MEIPASS获取资源路径(见下方“代码结构”)。
🖱️ 操作指南
| 操作 | 效果 |
|---|---|
| 左键拖动 | 移动猫咪位置 |
| 左键单击 | 触发互动动画 + 随机对话 |
| 鼠标滚轮 | 放大/缩小猫咪 |
| 右键单击 | 弹出菜单(调整大小、置顶、退出) |
🔧 自定义与扩展
更换宠物图片
- 只需将您的透明背景 PNG 图片命名为
cat_no_bg.png并替换原文件即可。建议图片尺寸 400x400 左右,背景透明。
修改对话内容
在 desktop_pet_tk.py 开头找到以下列表,按需增删或修改:
python
DIALOGUES = ["喵~ 你好呀!", ...] LICK_DIALOGUES = ["舔毛中,勿扰~", ...] WALK_DIALOGUES = ["溜达溜达~", ...]
调整动画参数
base_height:基础大小(像素),默认为 200walk_speed:行走速度,默认为 2anim_total_frames:各动画帧数,可在对应start_xxx方法中修改
🧩 代码结构简介
DesktopPet类:核心逻辑,包含窗口、渲染、动画、事件处理。prepare_image():处理图片透明背景,并二值化 Alpha 通道,消除边缘杂色。render():先绘制猫咪,再绘制气泡,确保气泡不被遮挡。update_animation():每 33ms 更新一次动画状态。main():程序入口,支持 PyInstaller 打包路径识别。
附件下载:Cat.zip
注意事项:
- 请将 cat_no_bg.png 替换为您的透明背景猫咪图片
- 可以用remove_bg去除背景