PySimpleGUI:让 Python GUI 开发回到简单

正文顶部截图

在 Python 生态中构建桌面 GUI 应用,选择并不少。tkinter 内置但 API 繁琐,PyQt 强大但学习曲线陡峭,wxPython 成熟但文档有限。PySimpleGUI 走了一条不同的路:把 tkinter 的复杂度封装成一套直观的 API,让开发者用最少的代码量写出可用的窗口应用。

目前 PySimpleGUI 在 GitHub 上获得了 13,801 个 star。2026 年 4 月发布的 v6 版本重新回归开源,使用 LGPL3 许可证。

README区域截图

用 PySimpleGUI 写一个带交互的窗口应用,只需要十几行代码。定义一个布局列表,创建窗口,启动事件循环,整个过程是线性的。没有类继承,没有回调注册,没有信号槽机制。这种设计降低了 GUI 编程的门槛,特别适合需要快速搭建工具界面的场景。

PySimpleGUI 的底层基于 tkinter,也支持 Qt、Wx、Web 等后端。对大多数桌面工具型应用来说,tkinter 后端的性能和外观已经够用,而 PySimpleGUI 提供的简化层让开发体验接近写脚本。

v6 版本的安装直接通过 pip 完成,也支持从 GitHub 仓库直接安装最新代码。文档从 ReadTheDocs 迁移到了 GitHub Pages,用户访问体验保持不变。

这个项目的历程比较特殊。作者 Mike 来自硅谷创业背景,2018 年因个人需要写了 PySimpleGUI 的第一个版本。他没有采用传统的开源协作模式,而是以独立开发者的方式全时投入,不接受外部 PR。2024 年初,在赞助和课程收入无法覆盖成本的情况下,项目转向商业化,v5 版本作为付费产品发布。

商业化尝试持续了大约两年。Mike 在公告中坦言,这种模式未能产生足够资源来维持项目的持续发展。2026 年,PySimpleSoft 关闭,代码移除授权和安全组件后以 LGPL3 协议重新开源。

对于 AI 时代的 GUI 库是否还有存在价值,Mike 的观点很直接:他喜欢写代码,这是做了 50 年的事,不会因为 AI 能生成代码就把这份乐趣交出去。他还指出,GUI 应用通常是增量开发的,布局和交互会不断调整,易读易改的代码对开发者和 AI 辅助工具都很友好。

目前 PySimpleGUI v6 仍在持续维护,最近的更新包括修复 settings_save 的 bug、支持在 Multiline 元素中内联打印图片、恢复版本升级功能。还有一个实验性的 PSGWeb 原型,可以让 PySimpleGUI 应用在浏览器中运行。

一个从个人需求起步的项目,经历了开源、商业化的完整周期后回到起点,这件事本身就值得关注。而它始终在做的一件事没有变:让 Python 的 GUI 开发更简单。

没有变:让 Python 的 GUI 开发更简单。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐