dwgx@blog:~$dwgx
> cd ../posts

ToolBox: 丢文件即插件的桌面工具箱

// created

ToolBox 是个 PySide6 写的 Windows 桌面工具箱, 把平时散在各处的一次性小工具——翻译、清文件、生成二维码——收进一个窗口, 左边一条导航切换。写脚本攒下来的零碎太多, 用完就忘扔哪了, 找起来比重写还慢, 干脆全塞进一个 GUI。

核心是“丢文件即插件”。Client.py 启动扫 Modules/ 目录, 凡是继承 QWidget 的类都被 ModuleManager 自动加载成一个页面。加新工具不用改主程序、不用注册路由, 往目录丢个 .py 重启就出现在侧边栏。这套自发现是它能一直堆东西不烂的原因。

常驻几个模块。FileClassifierTool 按类型过滤、生成文件关系树, 整理项目目录用。TranslationTool 接腾讯云 TMT, 划词加热键即翻, 凭据在设置里填不硬编码。YuShengJun 是个爬虫, 给 URL 就抓, 底层用 BeautifulSoup、newspaper、yt-dlp。Setting 管 UI 风格、背景、语言。

programtool/ 里还有一批命令行脚本, 跟主程序解耦, 拎出来单独跑: CodeCleaner 清代码、ConverterGUI 把 PyQt6 转 PySide6、LibUninstaller 批量卸包、QRCGenerator 生成 .qrc

技术栈是 Python 3.10+ 加 PySide6, 外加 beautifulsoup4、newspaper3k、yt-dlp、tencentcloud-sdk-python。pip install -r requirements 装完, python top/dwgx/Client.py 起主程序。

Modules/noplease/ 底下堆着 SystemCore、SystemTool、WiFiHacker 这类实验代码, 默认不加载, 进不了侧边栏。个人 WIP 项目, 没打算做成产品, 就一口越用越顺手的私人工具箱。GPL v3.0。