# desktop_pet **Repository Path**: tcoze/desktop_pet ## Basic Information - **Project Name**: desktop_pet - **Description**: 基于 PyQt5 开发的 Windows 桌面虚拟宠物,全程VibeCoding 纯娱乐开心 ~~~ - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-08-01 - **Last Updated**: 2026-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 小臭臭 · 桌面宠物 > **全程 VibeCoding 实战,纯娱乐项目。** 用 PyQt5 撸的一只 Windows 桌面小猫,陪你摸鱼。 --- ## 当前版本 v1.7 - 单击主体:随机切到另一张图(不会停在当前) - 逗它一下:随机触发 **12 种轻量微动作**(弹跳 / 摇摆 / 歪头 / 探头 / 缩放 / 抖动 / 上浮 / 倾斜 / 碎步 / 害羞 / 惊讶 / 开心摆动),1~2 秒内结束 - 上一张 / 下一张:顺序切换 - 帧动画:随机播放(从当前图开始) - 调节大小 0.4x~10x、透明度可调 - 帧切换速度 3~30 秒/张、闲聊频率可调(默认约 5~10 分钟) - 开机自启动默认开启(菜单可关) - 右键菜单分组清晰、图标区分明确 --- ## 打包(瘦身版) > 需要先配置好 Python 环境,详见文末「附:配置 Python 环境」。 依赖:`pip install -r requirements.txt`(打包还需 `pip install pyinstaller`) ```bash pyinstaller cat_pet.spec ``` `cat_pet.spec` 已裁剪未使用的 PyQt5 重型模块(WebEngine / Qml / Multimedia / 3D / Chart / Network 等),仅保留 `QtWidgets/QtGui/QtCore`,并开启 `upx`、`optimize=1`、`strip`,产出 `dist/cat_pet/` 目录。分发时整目录一起拷贝。 --- ## 快速上手 1. 双击 `dist/cat_pet/cat_pet.exe` 运行(首次解包略慢,正常)。 2. 宠物默认在右下角;左键拖拽移动,右键开菜单。 3. 启动按当前时段弹一句问候。 4. 退出:右键菜单 → 退出。 --- ## 功能一览 | 分类 | 说明 | | --- | --- | | 素材 | 根图仅当系统图标;`img/` 动态加载、自然排序、随机抽帧 | | 窗口 | 无边框 / 透明 / 置顶 / 鼠标穿透 / 多屏边界 | | 动画 | 呼吸缓动;帧动画(速度可调、从当前图播);随机漫游+跳跃 | | 交互 | 拖拽;上/下一张;双击互动;右键菜单 | | 气泡 | 首次问候;时段问候;随机闲聊;逗它一下;打招呼;自动选边带尾巴;5 秒消失 | | 菜单 | 调节大小/透明度、帧动画/速度、自动移动、上/下一张、置顶、逗它/打招呼、显隐、最小化托盘、闲聊频率、开机自启、关于、退出 | | 工程 | 配置持久化、单实例锁、目录打包、崩溃日志 `crash.log`、自启默认开 | --- ## 目录结构 ``` desktop_pet/ ├─ cat_pet.py # 主程序 ├─ cat_pet.spec # 目录打包配置(已瘦身) ├─ requirements.txt # 依赖 ├─ cat_pet.png # 系统图标 ├─ img/ # 帧图(任意数量透明 PNG) └─ README.md ``` --- ## 附:功能需求提示词(可直接复制给 AI 复刻同类程序) 需求:基于小猫透明背景 PNG 素材,打包为 Windows 桌面宠物 EXE。 1. **素材与加载**:根图仅作系统/托盘图标,不参与展示;展示与切换均用 `img/`,动态扫描、不硬编码数量与文件名、按数字自然排序、随机抽帧;加载失败静默跳过不崩溃。 2. **程序属性**:Windows 独立 EXE,免安装、无外部依赖、无广告弹窗、后台低内存。 3. **窗口规则**:无边框、背景透明、默认置顶;鼠标穿透,不遮挡正常操作(拖拽与菜单除外)。 4. **动画与行为**:闲置呼吸缓动;帧动画约 5 秒/张自动切换;桌面随机漫游与跳跃,支持多显示器边界。 5. **鼠标交互**:左键拖拽移动;单击切换图片(帧动画时禁用);双击触发互动;右键开菜单(与托盘菜单一致)。 6. **对话气泡**:首次按早/中/晚弹问候;定时时段问候每天各一次;随机闲聊间隔可调、与问候错开;气泡 5 秒自动消失;自动选边带尾巴。 7. **系统菜单**:调节大小/透明度(滑块)、切换帧动画(从当前图开始)/帧速度/自动移动/上一张/下一张、置顶、逗它一下/打招呼/显示/隐藏1分钟/最小化托盘、闲聊频率、关于、退出、开机自启开关。 8. **工程与打包**:配置持久化;单实例互斥;开机自启写入 `HKCU\...\Run`(默认开、菜单可关);目录模式打包(`COLLECT`、`console=False`、裁剪未用 Qt 模块、`upx=True`、`optimize=1`);崩溃日志 `crash.log`。 --- ## 附:配置 Python 环境 本项目基于 Python 3,使用 PyQt5 开发。以下步骤帮助你在本地配置运行 / 打包环境。 ### 1. 安装 Python - 前往 [python.org](https://www.python.org/downloads/windows/) 下载 **Python 3.10 或更高版本** 的 Windows 安装包。 - 安装时务必勾选 **`Add Python to PATH`**,然后点击 "Install Now"。 - 安装完成后,打开 PowerShell 验证: ```powershell python --version pip --version ``` ### 2. 安装依赖 ```powershell pip install -r requirements.txt ``` 如需打包,还需安装 PyInstaller: ```powershell pip install pyinstaller ``` ### 3. 运行程序 ```powershell python cat_pet.py ``` ### 4. 打包为 EXE ```powershell pyinstaller cat_pet.spec ``` 产物位于 `dist/cat_pet/`,整目录拷贝分发即可。