Gooey 是一款神奇的 Python 库,它能将几乎任何 Python 3 命令行程序,通过简单的装饰器,一键转换为具有图形用户界面的应用程序。告别枯燥的命令行参数输入,让你的程序更易用、更美观,更受用户欢迎!
快速入门:安装与基本用法
安装 Gooey 最简单的方法是使用 pip:
pip install Gooey
或者,你也可以克隆项目到本地目录并运行 setup.py:
git clone https://github.com/chriskiehl/Gooey.gitcd Gooeypython setup.py install
使用 Gooey 只需要在你的程序入口函数上添加一个简单的装饰器 @Gooey:
from gooey import Gooey@Gooeydefmain(): parser = ArgumentParser(...)# ... 你的程序代码 ...
就是这样!Gooey 会自动根据你的 ArgumentParser 参数生成对应的 GUI 界面。
强大的配置选项,满足个性化需求
Gooey 提供了丰富的配置选项,你可以通过在装饰器中传入参数来定制 GUI 的外观和行为:
• advanced: 控制是否显示高级配置界面。
• language: 设置 GUI 的语言,支持多种语言。
• auto_start: 跳过配置界面,直接运行程序。
• program_name: 设置程序名称,显示在窗口标题栏。
• program_description: 设置程序描述,显示在配置界面顶部。
• default_size: 设置窗口初始大小。
• required_cols / optional_cols: 设置“必填参数”和“可选参数”区域的列数 (已弃用,请使用布局自定义)。
• dump_build_config / load_build_config: 保存和加载 Gooey 的配置信息。
• monospace_display: 使用等宽字体显示终端输出 (已弃用,请使用布局自定义)。
• 以及许多其他的选项,例如自定义图标、菜单、进度条等等。
灵活的布局定制,适应不同需求
Gooey 支持多种布局方式,以适应不同类型的命令行程序:
• 高级布局 (Advanced): 默认布局,适用于大多数命令行程序,将参数分为“必填参数”和“可选参数”两部分。
• 基本布局 (Basic): 简化布局,适用于用户熟悉命令行程序的情况。
• 无配置布局 (No Config): 跳过配置界面,直接运行程序。
• 使用 GooeyParser:GooeyParser 是 ArgumentParser 的替代品,允许你指定每个参数的 UI 组件类型,例如 FileChooser、DateChooser 等。
此外,你可以通过 add_argument_group() 方法将参数分组,并自定义每个分组的布局。
国际化支持与菜单定制
Gooey 支持多语言,只需在装饰器中指定语言代码即可。 此外,Gooey 还支持自定义菜单,允许你在 GUI 中添加自定义菜单项,例如“关于”、“帮助”等,并可链接到外部网站或显示信息对话框。
动态验证与生命周期事件
Gooey 支持动态验证,可以在运行程序前验证用户输入的参数是否合法。 同时,Gooey 还提供了生命周期事件处理机制,允许你根据程序运行结果执行额外的操作,例如在程序成功运行后显示成功提示,或者在程序失败后显示错误信息。
显示进度和自定义图标
Gooey 可以显示程序运行进度,并支持自定义图标。 你可以通过正则表达式匹配程序输出中的进度信息,并将其转换为进度条状态。 同时,你也可以自定义 Gooey 的图标,使你的程序更具个性化。
打包与截图
Gooey 支持将你的程序打包成可执行文件,方便分发。 本文档包含了详细的打包步骤。
结论
Gooey 简化了 Python 命令行程序的 GUI 开发流程,只需几行代码就能将你的命令行程序转换为一个美观易用的图形界面程序。它丰富的功能和灵活的配置选项使其成为 Python 开发者构建 GUI 应用的利器。
项目地址: https://github.com/chriskiehl/Gooey