什么是 fbs?你有没有想过,用 Python 写个桌面应用,然后……打包、部署、发给用户,好像比写 Web 还要麻烦?fbs 就是来拯救这种痛苦的。它基于 Python + Qt,帮你把日常那些打包、生成安装包、跨平台部署的琐碎工作,一键搞定。简单说,fbs 让你 3 分钟从写代码到产出安装包,一点也不夸张。
它到底解决了哪些痛点?平常我们用 PyInstaller、cx_Freeze,或者手撸 NSIS、dmg 制作脚本,往往要折腾好几天,而且还容易出问题。fbs 把这些事情封装好,让你:
- • 一条命令创建项目脚手架
fbs startproject - • 一条命令打包安装程序
fbs installer
下面用表格简单对比一下:
| | |
| | fbs startproject |
| python main.py | fbs run |
| | fbs freeze |
| | fbs installer |
快速上手示例假设你已经装了 Python3.5+,操作系统随便 Win/Mac/Linux,都能跑。下面用最简单的 Demo 演示:
- 1. 建一个虚拟环境并激活:
python3 -m venv venvsource venv/bin/activate # Mac/Linuxcall venv\scripts\activate.bat # Windows
- 2. 安装 fbs:
pip install fbs
- 5. 再来打包、生成安装包:
fbs freezefbs installer
就这么简单!下面是自动生成的 src/main/python/main.py 核心代码示例,只有两步最少的样板:
from fbs_runtime.application_context.PyQt5 import ApplicationContextfrom PyQt5.QtWidgets importQMainWindowimport sysif __name__ =='__main__': appctxt =ApplicationContext()# 核心:启动上下文 window =QMainWindow()# 创建窗口 window.resize(300,200) window.show()# 显示 sys.exit(appctxt.app.exec())# 结束
优缺点大盘点下面这张表,就像我跟同事八卦一样,给你最直接的感受:
| |
| 对 Windows/Mac/Linux 的依赖工具需要先装好 |
| |
| |
| |
总结总的来说,fbs 并不是又一个 GUI 库,它的核心价值在于“快速、简单、跨平台”的打包部署体验。对于想用 Python + Qt 做桌面应用的小伙伴,fbs 简直就是神器,省下几天的摸索时间。那么,别再跟 PyInstaller 偷偷摸摸、或者自己搞一堆脚本了,赶紧用 fbs,3 分钟上线自己的桌面应用吧!
项目地址:https://github.com/mherrmann/fbs