
从代码小白到做出软件,我换了三次框架
上一篇文章发出来后,收到不少朋友的留言,有人问我是怎么从零开始学编程的,也有人问我用什么工具开发的。今天就来聊聊我做 印流PDflow 的技术踩坑史。
简单说:我换了三次框架。
🛠️ 第一代:pywebview + HTML/CSS
一开始我什么都不懂,听说用网页技术做界面最简单,就选了 pywebview。确实快,几天就搭出了基本界面。但打包出来之后,中文全变成了乱码。
试了 UTF-8 声明、BOM 头处理、Base64 编码、URL 加载……所有能搜到的编码修复方案全试了一遍,全部无效。
后来才知道,这是 Windows 自带的 WebView2 组件和系统编码的兼容性死结。代码层面根本解决不了,只能换框架。
🛠️ 第二代:Flet
Flet 基于 Flutter 引擎,中文终于不乱码了。但新问题来了:Flet 大版本更新频繁,同一个属性名在 0.80 和 0.84 两个版本上完全不一样。
文件选择器用法变了 图标名称改了 控件参数名换了
每次更新版本就像开盲盒,不知道哪个功能又崩了。折腾了两周,我再次决定迁移。
🛠️ 第三代:PySide6
这是目前最稳定的一版。PySide6 基于 Qt,原生控件不会乱码,API 成熟度高。但代价是必须从头写框架:
主窗口 导航栏 页面切换逻辑 QSS 主题系统
光是浅色模式的全局适配,就折腾了好几轮:
系统默认样式会覆盖自定义 QSS 原生对话框不受控制 文件选择器的暗色主题无法修改
前前后后调试了好几周,才算稳定下来。

💡 三次换框架教会我的事
做桌面软件,PySide6 是目前最稳的选择,但打包体积偏大是硬伤 不要在框架选型上纠结太久,用“能跑通 → 发现瓶颈 → 再换”的节奏,比自己调研三个月更高效 AI 辅助开发不是一键生成——当你知道每一行代码为什么在那里时,AI 帮你把写代码的速度提升 10 倍
目前印流PDflow 已经发布了 V1.0.1,稳定运行,完全免费。如果你也在学编程,或者对独立开发感兴趣,欢迎留言交流。
回复「下载」获取软件链接。
夜雨聆风