Gooey,一个神奇的 Python 库
Gooey基于wxPython构建的,该库的主要目标是为 Python 的 argparse 命令行程序提供简单的 GUI 界面。它特别适合那些需要用户输入多个参数,但又不想编写复杂 GUI 代码的开发者。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
Gooey是一个开源的Python库,可将命令行程序一键转换为用户友好的图形界面(GUI)。
Gooey基于wxPython构建的,该库的主要目标是为Python的argparse命令行程序提供简单的GUI界面。它特别适合那些需要用户输入多个参数,但又不想编写复杂GUI代码的开发者。
使用Gooey,你可以通过很少的代码行,将命令行程序转换为具有图形界面的应用程序。
正式: https://github.com/chriskiehl/Gooey示例: https://github.com/chriskiehl/GooeyExamples
安装
安装Gooey非常简单,可以通过pip进行安装:
pip install Gooey# 或包含可选功能pip install Gooey[images] # 支持图片显示
核心特性
简单易用:只需添加一个装饰器,即可将命令行程序转换为GUI。丰富的控件:支持多种控件,如文件选择器、目录选择器、下拉菜单等。自定义界面:允许自定义程序的名称、描述、图标、默认尺寸等。国际化支持:支持多国语言。验证功能:支持对输入进行验证。进度条:支持在长时间运行时显示进度条。简单示例
from gooey import Gooey, GooeyParser@Gooey(program_name="文件处理器", language="chinese", default_size=(600, 400))def main(): parser = GooeyParser(description="处理CSV文件") parser.add_argument("input_file", widget="FileChooser", help="选择输入文件") parser.add_argument("output_dir", widget="DirChooser", help="选择输出目录") parser.add_argument("--delimiter", default=",", help="列分隔符") parser.add_argument("--verbose", action="store_true", help="显示详细日志") args = parser.parse_args() print(f"处理 {args.input_file} -> {args.output_dir}")if __name__ == "__main__": main()

组件
Gooey提供了丰富的GUI组件,通过 widget 参数指定。
这些组件与argparse参数无缝集成:
各组件的构造GUI示例:
from gooey import Gooey, GooeyParserimport datetime@Gooey( program_name="文件处理工具", program_descriptinotallow="多功能文件处理工具集", default_size=(900, 700), navigatinotallow="TABBED", tabbed_groups=True, header_bg_color="#2C3E50", body_bg_color="#ECF0F1", language='chinese')def main(): parser = GooeyParser(descriptinotallow="文件处理选项") # 文件选择组 file_group = parser.add_argument_group("文件选择") file_group.add_argument( "input_file", widget="FileChooser", help="选择输入文件", gooey_optinotallow={ 'wildcard': "所有文件 (*.*)|*.*|文本文件 (*.txt)|*.txt", 'default_path': "D:\\" } ) file_group.add_argument( "output_dir", widget="DirChooser", help="选择输出目录" ) # 文本处理组 text_group = parser.add_argument_group("文本处理") text_group.add_argument( "--text_content", widget="Textarea", help="输入要处理的文本内容", gooey_optinotallow={ 'height': 100 } ) text_group.add_argument( "--encoding", choices=['utf-8', 'gbk', 'ascii'], default='utf-8', help="选择文件编码" ) # 日期时间组 date_group = parser.add_argument_group("时间设置") date_group.add_argument( "--start_date", widget="DateChooser", help="选择开始日期" ) date_group.add_argument( "--process_time", widget="TimeChooser", help="选择处理时间" ) # 数值设置组 number_group = parser.add_argument_group("数值设置") number_group.add_argument( "--quantity", widget="IntegerField", help="处理数量", gooey_optinotallow={ 'min': 1, 'max': 100 } ) number_group.add_argument( "--ratio", widget="Slider", help="处理比例", default=50, gooey_optinotallow={ 'min': 0, 'max': 100 } ) # 选项组 options_group = parser.add_argument_group("处理选项") options_group.add_argument( "--process_type", choices=['快速处理', '标准处理', '精细处理'], default='标准处理', help="选择处理方式" ) options_group.add_argument( "--backup", actinotallow="store_true", help="创建备份" ) # 高级选项组 advanced_group = parser.add_argument_group("高级选项") advanced_group.add_argument( "--password", widget="PasswordField", help="输入处理密码" ) advanced_group.add_argument( "--custom_command", widget="Textarea", help="自定义命令", gooey_optinotallow={ 'height': 50 } ) args = parser.parse_args() # 显示处理结果 print("\n===== 处理配置 =====") print(f"输入文件: {args.input_file}") print(f"输出目录: {args.output_dir}") print(f"文本内容长度: {len(args.text_content) if args.text_content else 0}") print(f"编码方式: {args.encoding}") print(f"开始日期: {args.start_date}") print(f"处理时间: {args.process_time}") print(f"处理数量: {args.quantity}") print(f"处理比例: {args.ratio}%") print(f"处理方式: {args.process_type}") print(f"是否备份: {'是' if args.backup else '否'}") print(f"密码是否设置: {'是' if args.password else '否'}") print(f"自定义命令: {args.custom_command if args.custom_command else '无'}")if __name__ == "__main__": main()

应用场景
为内部工具提供非技术用户友好的界面快速原型开发,避免编写复杂GUI代码数据预处理/分析脚本的可视化操作教学演示中展示命令行工具的工作原理需要文件/目录选择器等GUI组件的场景总结
使用建议:
最佳场景:快速为现有命令行工具添加GUI推荐组合:Gooey+argparse+Pandas(数据处理工具)进阶方案:复杂需求可结合PyQt/TkinterGooey通过单行装饰器即可将命令行程序转化为用户友好的图形界面。智能解析argparse参数并自动渲染为丰富的GUI组件(如文件选择器、复选框、下拉菜单等),彻底消除了编写传统GUI代码的复杂度。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
涨价前再促一次:TCL M7 新风空调双排铜管 10 年整机包修,1.5 匹 1979 元
小蓝翼 M7 TCL刚刚在2026年更新的新风空调产品线中,小蓝翼M7系列无疑是今年春季促销的焦点。这款新品在核心配置上直接拉满:双排铜管冷凝器、直流变频技术,外加电子膨胀阀,用料相当扎实。最值得关注的,是其1 5匹机型的APF能效比达到了5 40,这比市面上同类竞品普遍徘徊在5 2左右的水平,高出
机械革命耀世16 Ultra新款现可预约,水冷双烤达300W
机械革命2026旗舰新品耀世16 Ultra发布:水冷双烤功耗达300W,性能释放再创新高 2026年4月3日,机械革命正式推出其新一代旗舰级游戏笔记本电脑——耀世16 Ultra 2026款。这款产品凭借水冷散热系统实现了双烤高达300W的性能释放,结合顶级OLED屏幕与NVIDIA全新RTX 5
OPPO K15 Pro系列发布 主动散热颜值性能两不误
OPPO K15 Pro系列正式发布:性能与颜值的全新选择 近期,智能手机市场再次迎来一位重量级成员。OPPO正式推出了备受期待的K15 Pro和K15 Pro+两款机型,两款新机同样瞄准年轻消费群体,主打高性能与潮流设计。全系标配主动式风扇散热系统,外观延续标志性潮流平整风格,定位明确,旨在为广大
AWE探展TCL:“机皇”X11L惊艳亮相 20000+个万象分区
TCL在AWE现场打造了一座“TCL PASSION LAND”品牌活力乐园,开启了“屏宇宙+AI科技”新次元。非常吸引人的便是TCL的“屏宇宙”了。 【上海现场直击】2026年AWE大幕拉开,这场主题为“AI科技、慧享未来”的家电与消费电子盛宴,于3月12日至15日,首次以“一展双区”的新模式在上
英特尔推出酷睿 Ultra 7 251HX 处理器:6P + 12E + 3Xe
英特尔酷睿 Ultra 7 251HX 处理器发布:6个性能核、12个能效核与3个Xe核架构解析 英特尔官网产品列表近期迎来更新,备受瞩目的酷睿 Ultra 7 251HX 处理器规格信息正式公布。引人注目的是,其产品发布时间明确标注为“2026年第一季度”,这为行业观察者和消费者揭示了英特尔未来几
- 日榜
- 周榜
- 月榜
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

