Python 生态里,Qt 系的 GUI 库是桌面开发的主流选择。但这个领域有一个让无数开发者头疼的问题:授权。不同的库,授权规则差异悬殊,一不小心就可能踩坑——尤其是打算商业化的项目。下面把几个主要库的授权逻辑梳理清楚。
目前 Python 中基于 Qt 的主流 GUI 库有四个,分为两大家族:

两大家族的核心差异,就在于授权协议。
PyQt 系列由英国公司 Riverbank Computing 维护,采用"二选一"的双授权模式:
Riverbank 官方的 FAQ 说得很直白: "如果你的应用授权协议与 GPL 不兼容,就必须在开始销售前购买商业授权。"
PySide 系列由 Qt 官方维护,采用 LGPL v3 协议(Lesser GPL,宽松版 GPL):
| 库 | 维护方 | 免费协议 | 商业闭源 | 商业授权费用 |
|---|---|---|---|---|
| PyQt5 | Riverbank Computing | GPL v3 | 需购买 | ~550 欧元/开发者 |
| PyQt6 | Riverbank Computing | GPL v3 | 需购买 | ~550 欧元/开发者 |
| PySide2 | Qt 官方 | LGPL v3 | 免费可用 | 可选(企业增值) |
| PySide6 | Qt 官方 | LGPL v3 | 免费可用 | 可选(企业增值) |
如果你在做商业项目,PySide6 几乎是默认最优解——LGPL 协议允许闭源分发,官方维护质量有保障,API 与 PyQt6 高度相似,迁移成本低。
如果你在做开源项目,PyQt5/PyQt6 和 PySide 都可以自由选择,PyQt 的社区文档和第三方教程相对更丰富一些。
一个常见误区:有人以为"内部使用、不对外销售"就不需要商业授权。Riverbank 的 FAQ 明确指出,只要你的分发协议与 GPL 不兼容(哪怕只是公司内部部署),就需要商业授权。
总结一句话:想省钱又想闭源,选 PySide6;愿意开源或愿意付费,PyQt 也是成熟选择。 授权问题在项目启动前想清楚,比上线前补救要轻松得多。
参考来源