前两篇我聊过两件事:Excel VBA 的"现有文件加宏"要脚本化,Ribbon 版本要统一成 2010。这一篇,进化的轮盘转到了 Python 的界面。我把 python-dev 的 UI 路线全面重排:从"够用就好"直接拉到"专业级",四套 UI 蓝图一次配齐。 更重要的,是我更新了一个坚持很久的认知——曾经我笃定"专业漂亮的界面,得靠 .NET WPF",这次我亲手把这个结论改写掉了。
一、先把话接上:Skill 是会进化的
上一篇的标题,就是我这套方法论的核心——Skill 是会进化的。
它怎么进化?不是闭门造车,而是靠真实使用中暴露的问题:我自己开发测试、群友反馈、社区提问,每暴露一个坑,我就把它总结、分析、修进脚本和模板,让后面的人再也踩不到。
VBA 那轮,我把"在用户现有文件上加宏"从"靠提示词教"改成了"靠脚本驱动",准确率肉眼可见地上了一个台阶;PPT / Word / WPS JSA 三套一起跟进,连 Ribbon 版本混乱这种隐形坑都统一成了 2010 版。
这一轮,轮到了 Python——准确说,是 Python 的界面。
对我来说,每一套 Skill 都像一件手作的工具。打磨它、进化它、看着它被更多人用起来,是我作为工具匠人最大的乐趣。这一轮,我乐在其中地把 python-dev 这块"板子"重新磨了一遍。
二、先坦白:我一直是 .NET 的技术栈
熟悉我的朋友都知道,我吃的是 .NET 这碗饭,写的是 C#、WPF,Python 的代码几乎都是交给 AI 来写的——我自己并不手写 Python。
也正因为如此,很长一段时间里,我对 Python 的界面是没有更高追求的。我的印象一直是:Python 的界面天花板不高,跟现代前端根本没法比;就算上 PySide6 这种"重"一点的方案,我也担心 AI 写不出正确的代码——QThread、信号槽、样式表,一不留神就翻车。所以上一轮我做 .NET Skill 的时候,很坦白地说过一句话——"需要专业级界面的桌面软件,上 .NET WPF。"
这句话在当时是对的。WPF + HandyControl 做出来的东西,圆角、毛玻璃、动画、高分屏适配,确实"专业又漂亮",也确实是我曾经以为 Python 这边给不了的质感。
但这一轮,我要当着所有读者的面,把这句话更新掉。因为 Python 这次,真的追上来了。
三、Python 界面全面进化:四套 UI 蓝图,一次配齐
这一轮 python-dev 最大的变化,是新增了三套高级 UI 蓝图,和原来的 CustomTkinter 一起组成一套完整的"界面阵容":
| | | |
|---|
gui-exe | | | |
nicegui-exe | | | |
react-web-ui | React 19 + Tailwind + 官方 shadcn/ui | | |
pyside6-exe | | | |
四套蓝图,四档需求,从"能用"到"惊艳"全覆盖。挑重点说:
纯 Python,也能做出"现代美观"——NiceGUI Native
这是我最想让零基础用户试的一条路线:nicegui-exe,全程纯 Python,不需要学任何前端。
- 业务逻辑放 core.py,界面放 ui.py,AI 按模板填空就行;
- 双击 start_native.bat 就是一个独立窗口,也可以随时切浏览器模式;
- 卡片、图表、仪表盘、轻量管理台,都是它的主场;
- 内置 docs/NiceGUI-docs/ 完整本地文档,AI 写之前必须先对着文档核对 API,禁止凭记忆猜。
什么意思?就是你只想要一个"界面好看、有质感"的 Python 工具时,AI 不用再搬来 React 那一整套东西——纯 Python 就能给到现代卡片式界面,门槛和 Token 消耗都省下一大截。
想要"品牌级"设计自由度?React + 官方 shadcn/ui
如果你的需求是强品牌、复杂动画、高度自定义的响应式页面,那就上 react-web-ui:
- React 19 + TypeScript + Vite + Tailwind CSS v4 + 官方 shadcn/ui 源码组件;
- 开发时浏览器实时预览,发布时用 PyWebView 打包成独立 Windows 窗口,双击即用;
- 前端 dist 嵌入 Python 包,服务只监听本机,关闭窗口即停。
这套是"设计自由度上限"最高的路线,视觉上可以做到"看不出是模板生成"。
要专业原生桌面?PySide6,但按专业标准来
pyside6-exe 处理的是真正"重"的场景:复杂表格、树形数据、多窗口、托盘、系统集成。
- 耗时任务用 QThread + QObject Worker 后台跑,绝不让窗口卡死;
- 所有可点击入口必须是真实的 QPushButton,带 hover / pressed / focus / 禁用态,不允许拿 QLabel 冒充按钮;
- 依赖用 pyside6-essentials 控住体积,LGPL 合规提醒写死在文档里。



四、为什么说:这一轮更省 Token、更省开发时间?
回到你最关心的一个问题:这些升级,对"零基础 + AI 写代码"到底意味着什么?
我的回答是四个字:少走弯路。
Python 本来就是 AI 最友好的语言——训练语料最多、模型最会写、生态最全。但它有个毛病:写起来自由,自由到容易出错;一出错就返工,一返工就烧 Token。
这一轮,我做的几乎每一件事,都是在替 AI"提前排雷":
1. 蓝图实例化,不用从零搭骨架——四套蓝图都是验证过的完整项目,AI 拿来填空就行;
2. 本地文档挂载,不用联网试 API——NiceGUI 的完整文档直接放进 Skill,AI 对着文档写,而不是凭记忆猜、写了再删;
3. 脚本兜底环境与打包——uv sync --locked 一把锁死依赖版本,图标三链路(窗口 / 任务栏 / EXE)脚本自动处理,AI 不用反复补锅;
4. 依赖锁定,不再装不上——pyproject.toml 声明兼容上界,uv.lock 精确复现,构建机器上 uv sync --locked 一次到位,镜像源、版本冲突这些老毛病被提前治了。
一句话:AI 少返工一次,就少烧一次 Token;少踩一个坑,就早交付一小时。 零基础用户花更少的钱、更短的时间,拿到的是专业级的成品——这才是"AI 友好的语言 + 好 Skill"该有的样子。
五、认知更新:为什么我放下了对 WPF 的执念
前面说了那么多,最后我想诚实地聊聊这次最触动我自己的事。
上一轮我还在说"专业界面看 .NET WPF"。这一轮,我通过 Skill 把 Python 的界面打磨到了同一个水平线上——纯 Python 有现代美观的 NiceGUI,专业原生有 PySide6,品牌级有 React + shadcn/ui。
所以我的结论更新了:"专业漂亮的界面必须 WPF",这话不再成立。 我不否定 .NET——它的编译型约束、性能、打包体积依然有它的位置;但当需求是"Python 工具 + 漂亮界面"时,你不再需要为了一个界面,去换一门语言、多学一套技术栈。
这让我更确信一件事:人是会进化的,Skill 是会进化的,认知也是会进化的。 我在这里写公众号、做 Skill、分享方法论,最重要的不是"我有多牛",而是——
我在进步,我在追求完美。我希望你也接力这份爱,为这个社区多作贡献。
你做出一个作品、解决一个群友的问题、把踩到的坑反馈给我,都是在让这套 Skill、这个社区变得更好。
最后
这一轮,想体验 Python 专业界面的朋友:
- 想要现代卡片式工作台 / 仪表盘,纯 Python 搞定 → 拿 nicegui-exe 这条线;
- 想要品牌级网页式界面,设计自由度拉满 → 拿 react-web-ui;
- 想要专业原生桌面,复杂表格、托盘、多窗口 → 拿 pyside6-exe;
- 只求基础实用、单窗口小工具 → gui-exe 依然稳稳的。
还是老规矩,首次申领零门槛。加我好友,进免费社群,亲手玩一把——用大白话说出你的需求,剩下的,交给 Skill 和 AI。
如果这些折腾值得认可,欢迎随喜打赏。不设固定金额,你觉得值多少就打赏多少。
想入群自助申请skill的,可以关注公众号后,后台回复 ”skill“,我会发送联系方式,拉您进群,不用理会AI自动回复内容即可。