Skip to content

🐱 桌面宠物(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:基础大小(像素),默认为 200
  • walk_speed:行走速度,默认为 2
  • anim_total_frames:各动画帧数,可在对应 start_xxx 方法中修改

🧩 代码结构简介

  • DesktopPet 类:核心逻辑,包含窗口、渲染、动画、事件处理。
  • prepare_image():处理图片透明背景,并二值化 Alpha 通道,消除边缘杂色。
  • render():先绘制猫咪,再绘制气泡,确保气泡不被遮挡。
  • update_animation():每 33ms 更新一次动画状态。
  • main():程序入口,支持 PyInstaller 打包路径识别。

附件下载:Cat.zip

注意事项: - 请将 cat_no_bg.png 替换为您的透明背景猫咪图片 - 可以用remove_bg去除背景