Repolode
chriskiehl

chriskiehl/Gooey

一个 Python 库,用一个装饰器把基于 argparse 的命令行程序变成桌面图形界面。

Star
21,896
Fork
1,047
未关闭 Issue
172
最近提交
3天前

这是什么?

Gooey 可以把使用 argparse 编写的 Python 命令行程序自动生成图形界面。只需在构建解析器的函数上加一个 @Gooey 装饰器,程序就会根据参数声明生成包含输入框、复选框、下拉框等控件的窗口,原有脚本逻辑基本不变。

默认情况下,Gooey 会为每种 argparse 参数类型选择合适的控件。改用 GooeyParser 后,可以显式指定控件,例如文件和目录选择器、日期和时间选择器、滑块、密码框和列表框。窗口布局、默认尺寸、基础或高级配置界面、菜单栏,以及根据程序输出正则匹配显示的进度条,都可以通过装饰器参数进行设置。

项目支持 Python 3,README 中说明 Python 2 用户需要安装旧版本。界面文本内置多种语言翻译,也可以用 PyInstaller 打包为可执行文件。

核心功能

  • 01通过一个 @Gooey 装饰器为 argparse 程序添加图形界面。
  • 02自动将 argparse 参数映射为控件,也可用 GooeyParser 指定控件类型。
  • 03提供文件、目录、日期、时间、颜色和滑块等控件。
  • 04根据程序输出的正则匹配显示进度条,并可显示剩余时间。
  • 05支持菜单栏,可弹出关于、消息、链接和 HTML 对话框。
  • 06通过 JSON 语言文件支持多语言界面。

适用场景

  • 为内部 Python 脚本提供点选式界面,方便非程序员同事使用。
  • 为数据处理或文件转换工具加上可视化的文件选择和参数输入。
  • 把 Python 命令行工具打包成带表单界面的独立桌面程序。

快速上手

  1. 1

    使用 pip 从 PyPI 安装 Gooey

    pip install Gooey
  2. 2

    在包含 argparse 声明的 main 函数上添加 @Gooey 装饰器

使用前须知

  • 不再支持 Python 2;Python 2 用户必须固定安装旧版本并手动安装 wxPython。
  • Gooey 依赖 wxPython,在 Python 2 上无法随 pip 安装一并完成。

收录于专题

标签

#python#gui#argparse#cli#desktop-app#wxpython

常见问题

Gooey 是什么?
一个 Python 库,用一个装饰器把基于 argparse 的命令行程序变成桌面图形界面。 Gooey 可以把使用 argparse 编写的 Python 命令行程序自动生成图形界面。只需在构建解析器的函数上加一个 @Gooey 装饰器,程序就会根据参数声明生成包含输入框、复选框、下拉框等控件的窗口,原有脚本逻辑基本不变。
Gooey 可以免费使用吗?用的什么许可证?
Gooey 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
Gooey 还在维护吗?
活跃维护中。Gooey 最近一次提交是在 2026年11月5日。
Gooey 适合用来做什么?
为内部 Python 脚本提供点选式界面,方便非程序员同事使用。 为数据处理或文件转换工具加上可视化的文件选择和参数输入。 把 Python 命令行工具打包成带表单界面的独立桌面程序。
Gooey 怎么安装和运行?
使用 pip 从 PyPI 安装 Gooey: pip install Gooey 在包含 argparse 声明的 main 函数上添加 @Gooey 装饰器
在哪里获取 Gooey?
源代码和安装说明在 GitHub 上:https://github.com/chriskiehl/Gooey

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目