PySimpleGUI 6 重返开源:免费 Python GUI 框架回归 LGPL3 许可

如果你是 Python 开发者,想做一个简单的桌面应用,PySimpleGUI 一直是最容易上手的选择。但几年前它转为商业许可后,很多开发者不得不转向其他方案。好消息是:PySimpleGUI 6 于 2026 年 4 月正式回归 LGPL3 开源许可

PySimpleGUI 的前世今生

PySimpleGUI 的许可证变化历史:

  • V4 版本:LGPL3 开源许可(开源阶段)
  • V5 版本:商业许可(商业化阶段,需要付费)
  • V6 版本:重回 LGPL3 开源许可(回归开源)

V5 商业化期间,PySimpleGUI 关闭了服务器、归档了商业材料。V6 不仅恢复了开源许可,还把 V5 期间的所有 bug 修复和新功能都开放了出来。

PySimpleGUI 能做什么

PySimpleGUI 的核心价值是:用最简单的 API 创建桌面 GUI 应用。它封装了四大 GUI 后端:

  • tkinter:Python 自带,无需额外安装
  • Qt:功能最强大,适合复杂应用
  • WxPython:原生外观
  • Remi:Web 界面,用浏览器显示

同一个 API,换一个 import 就能切换后端。对于新手来说,只需要从 tkinter 开始就够了。

安装方法

# 从 PyPI 安装
python -m pip install PySimpleGUI

# 从 GitHub 安装最新版
python -m pip install --upgrade https://github.com/PySimpleGUI/PySimpleGUI/zipball/master

快速上手示例

import PySimpleGUI as sg

# 定义布局
layout = [
    [sg.Text('请输入你的名字:')],
    [sg.Input(key='-INPUT-')],
    [sg.Button('确定'), sg.Button('取消')],
    [sg.Text('', key='-OUTPUT-')]
]

# 创建窗口
window = sg.Window('我的第一个 GUI 程序', layout)

# 事件循环
while True:
    event, values = window.read()
    if event in (sg.WIN_CLOSED, '取消'):
        break
    if event == '确定':
        window['-OUTPUT-'].update(f'你好,{values["-INPUT-"]}!')

window.close()

这段代码创建了一个带输入框和按钮的窗口。输入名字后点确定,会显示问候语。整个过程不到 20 行代码。

实际应用场景

1. 快速原型

需要一个简单的配置工具、数据查看器、或者测试界面?PySimpleGUI 可以在几分钟内搭出来。

2. 工具脚本的 GUI 包装

如果你有一堆命令行脚本,想给它们加个简单的界面方便同事使用,PySimpleGUI 是最快的方式。

3. 学习 GUI 编程

PySimpleGUI 的 API 设计非常直观,适合作为 GUI 编程的入门学习。等你熟悉了基本概念后,再转向 Qt 或其他更专业的框架。

4. 内部工具

公司内部的数据录入、审批流程、报表查看等工具,不需要多漂亮的界面,但需要能用——PySimpleGUI 非常适合。

V6 有什么新东西

  • 回归 LGPL3:最大的变化,可以免费用于商业项目
  • V5 的所有功能:多年商业化期间的改进全部开放
  • 移除商业组件:升级机制和商业许可相关代码被清理
  • 配套工具更新:psgdemos、psgfiglet、psghotkey 等配套工具都升级到 V6

与其他 Python GUI 框架的对比

框架 上手难度 功能 许可
PySimpleGUI ★☆☆☆☆ 中等 LGPL3
tkinter ★★☆☆☆ 基础 Python 许可
PyQt / PySide ★★★☆☆ 强大 GPL / LGPL
Kivy ★★★☆☆ 移动端友好 MIT
Dear PyGui ★★☆☆☆ GPU 加速 MIT

PySimpleGUI 的优势在于上手极其简单,劣势在于功能不如 Qt 强大、性能不如 Dear PyGui。但对于「快速做一个能用的界面」这个需求来说,它是最好的选择。

注意事项

  • PySimpleGUI V6 需要 Python 3.6+
  • tkinter 后端在某些 Linux 发行版上可能需要额外安装(sudo apt install python3-tk
  • LGPL3 许可允许在商业项目中使用,但修改 PySimpleGUI 源码后需要开源修改部分
  • GitHub 上的版本可能比 PyPI 上的更新,建议从 GitHub 安装

本文参考来源:

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容