Skip to content

Conversation

@lessen-xu
Copy link

@lessen-xu lessen-xu commented Jan 7, 2026

📜 标题(Title)

feat: 新增图形界面启动器 (GUI.py) 及系统托盘支持

🔍 描述(Description)

请描述这个PR做了什么/为什么这些更改是必要的:

为了方便不熟悉命令行的用户使用,新增了一个基于 Python 原生 tkinter 库的图形化启动脚本 GUI.py

主要变更如下:

  1. 新增 GUI.py
  • 进程管理:通过 subprocess 调用 main.py,支持一键开始/停止录制,并能优雅处理子进程退出。
  • 日志显示:实时捕获标准输出并在界面显示,已通过正则去除 ANSI 颜色代码以防止乱码,支持自动滚动。
  • 系统托盘:引入 pystray 库,支持点击关闭时最小化到系统托盘,实现后台静默运行。
  • 配置编辑:内置简易编辑器,支持直接修改 URL_config.iniconfig.ini(强制使用 utf-8-sig 编码)。
  1. 依赖更新:在 requirements.txt 中添加了 GUI 托盘功能所需的 pystrayPillow
  2. 忽略文件:在 .gitignore 中添加了 ffmpeg.exe

📝 类型(Type of Change)

这个PR引入了哪种类型的更改?(请勾选所有适用的选项)

  • 修复Bug
  • 新功能
  • 代码风格更新(格式化,局部变量)
  • 重构(改进代码结构)
  • 构建相关更改(依赖项,构建脚本等)
  • 其他:请描述

🏗️ 测试(Testing)

请描述您已经进行的测试:

  • 测试环境:Windows 11 / Python 3.12
  • 功能验证
  • 启动/停止:点击按钮能正常启动录制进程,日志输出正常;点击停止能正确结束后台 Python 及 FFmpeg 进程。
  • 托盘交互:点击窗口关闭按钮能最小化至托盘;右键托盘图标能正常显示主界面或彻底退出程序。
  • 配置保存:修改配置文件后保存,验证文件编码格式正确,无中文乱码。

✨ 额外特性 (DevOps)

  • 自动构建集成 (CI/CD)
    新增了 GitHub Actions 工作流 (.github/workflows/build_exe.yml)。
    • 触发机制:代码推送到 main 分支或发起 PR 时自动触发。
    • 构建产物:自动使用 PyInstaller 打包生成独立的 DouyinLiveRecorder_GUI.exe
    • 意义:方便发布 Release,普通用户无需安装 Python 环境即可直接下载使用。

如果适用,请提供测试更改的说明:

  1. 安装新增依赖:pip install -r requirements.txt
  2. 运行启动器:python GUI.py

📋 检查清单(Checklist)

在您创建这个PR之前,请确保以下所有框都被勾选,方法是在每个框中放置一个x

  • 我已经阅读了贡献指南文档
  • 我的更改没有产生新的警告
  • 我已经添加了覆盖我更改的测试
  • 我已经相应地更新了文档(如果适用)
  • 我遵循了这个项目的代码风格

@lessen-xu lessen-xu closed this Jan 7, 2026
@lessen-xu lessen-xu deleted the add-gui-launcher branch January 7, 2026 21:52
@lessen-xu lessen-xu restored the add-gui-launcher branch January 7, 2026 21:54
@lessen-xu lessen-xu reopened this Jan 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant