2026-05-28 21:16:08 +08:00
2026-05-28 19:22:25 +08:00
2026-05-29 08:41:07 +08:00
2026-05-28 21:16:08 +08:00
2026-05-28 21:28:15 +08:00
2026-05-28 21:16:08 +08:00
2026-05-28 21:28:15 +08:00

QtDesktopPet

QtDesktopPet 是一个基于 Qt Widgets / C++17 的 Windows 桌面宠物原型项目。当前目标是先完成轻量桌宠内核:透明无边框窗口、PNG 序列帧动画、多状态切换、托盘隐藏、配置保存和基础日志。

当前状态

已实现:

  • 透明无边框桌宠窗口
  • 鼠标拖动
  • 右键菜单退出和状态测试
  • 置顶切换
  • shiroko 角色包读取
  • PNG 序列帧动画播放
  • idle / talk / think / sleep / happy / drag / error 状态
  • 托盘显示、隐藏、退出
  • 隐藏时暂停动画,显示时恢复动画
  • 保存窗口位置和置顶状态
  • 文件日志和基础轮转

尚未实现:

  • AI 对话
  • AI 配置界面
  • ChatBubble 气泡
  • SettingsDialog
  • 角色导入/切换界面
  • 打包发布脚本

技术栈

  • C++17
  • Qt 6 Widgets
  • CMake
  • PNG 图片序列帧
  • JSON 配置文件
  • Windows 10 / Windows 11 优先

构建

推荐环境:

  • Qt 6.5.3
  • CMake 3.20+
  • Ninja
  • MinGW 11.2.0 或已配置好的 Qt MSVC Kit

MinGW 示例:

cmake -S . -B build/mingw-debug -G Ninja `
  -DCMAKE_BUILD_TYPE=Debug `
  -DCMAKE_PREFIX_PATH=D:/Qt/6.5.3/mingw_64 `
  -DCMAKE_C_COMPILER=D:/Qt/Tools/mingw1120_64/bin/gcc.exe `
  -DCMAKE_CXX_COMPILER=D:/Qt/Tools/mingw1120_64/bin/g++.exe

cmake --build build/mingw-debug

如果使用 Qt Creator,也可以直接打开根目录 CMakeLists.txt,选择合适的 Qt Kit 后构建。

角色包

当前默认角色包位于:

shiroko/

基本结构:

shiroko/
  character.json
  preview.png
  idle/
  talk/
  think/
  sleep/
  happy/
  drag/
  error/

当前素材版本为 2.1.0-stable,所有帧使用 512x512 透明画布。当前实现会加载当前角色包的各状态帧并按 character.json 中的 FPS 播放。

后续计划将默认角色包位置整理为:

resources/characters/shiroko/

配置和日志

应用配置保存到 Qt 标准配置目录:

QStandardPaths::AppConfigLocation/app_config.json

配置损坏时会备份为:

app_config.broken.json

日志输出到文件,不输出到控制台:

QStandardPaths::AppConfigLocation/logs/QtDesktopPet.log

如果 Qt 无法取得标准配置目录,则回退到当前工作目录下的 logs/QtDesktopPet.log

日志轮转规则:

  • 单个日志文件超过 2MB 时轮转
  • 最多保留 3 个旧日志文件
  • 文件名为 QtDesktopPet.log.1QtDesktopPet.log.2QtDesktopPet.log.3

AI 计划

项目计划支持 OpenAI Compatible API,但当前尚未接入 AI。

后续目标:

  • 用户自定义 Base URL
  • 用户自定义 API Key
  • 用户自定义 Model
  • 非流式对话请求
  • 请求中切换 think
  • 回复时切换 talk
  • 失败时切换 error
  • API Key 不写入日志,不在错误提示中完整显示

隐私说明

当前版本没有 AI 网络请求。

后续接入 AI 后,程序只会把用户消息发送到用户自己配置的接口。用户需要自行判断第三方代理、中转服务或自建服务是否可信。项目不会默认承诺第三方接口的隐私安全。

素材版权说明

源码采用 MIT License。

角色素材、图片、图标等资源需要单独确认授权。当前 shiroko 素材用于桌宠加载器、动画和状态切换测试;在公开发布或正式分发前,需要确认素材的版权、再分发权限和适用范围。

用户导入或替换的素材,其版权责任由用户自行承担。

许可证

项目源码使用 MIT License,见 LICENSE

S
Description
Qt_DesktopPet的开发仓库
Readme MIT 48 MiB
2026-06-01 08:50:55 +00:00
Languages
C++ 94.2%
PowerShell 3.1%
C 1.5%
CMake 0.7%
Inno Setup 0.5%