Flet 跨平台 Python UI 框架
Flet 是一个现代跨平台的 Python UI 框架,允许开发者使用纯 Python 构建 Web 应用、桌面应用(Windows/macOS/Linux)、移动应用(Android/iOS)。它基于 Flutter 渲染引擎,因此具有高性能、现代化 UI、响应式布局等优势,却无需掌握 Dart 或 Flutter,只需写 Python 即可。
Flet 特别适用于快速开发企业内部工具、后台管理界面、实时仪表盘、桌面应用原型等,被认为是'Python 世界的 Flutter'。
安装
pip install flet
常见应用场景
-
跨平台 GUI 开发(无需 Dart) 使用 Python 构建 Windows、macOS、Linux GUI 程序,界面效果与 Flutter 一致。
-
Web 应用与管理后台 一套代码可直接在浏览器运行,适合制作管理后台、仪表盘、可视化面板。
-
移动应用原型开发 可部署到移动端(Android / iOS),适合作为快速验证 UI 的工具。
-
实时应用与仪表盘 内置 WebSocket 支持,适合动态数据更新,如实时监控、业务面板。
-
企业内部工具 无需前端技术栈,快速做出内部系统界面或小型业务工具。
核心概念
1. Flet 应用程序(Page)
Flet 使用 page 对象表示应用页面,包含:
- 主题(light/dark)
- 控件列表
- 路由管理
- 响应式布局
- 事件回调执行环境
例如:
def main(page):
page.title = "Hello Flet"
2. 控件(Controls)
类似 Flutter 小部件(Widgets),但用 Python 创建。 常用控件包括:
- Text:文本
- TextField:输入框
- ElevatedButton:按钮
- Row / Column:布局
- Container:容器
- Image:图像
- DataTable:表格
- Dropdown:下拉框
- IconButton:图标按钮
Flet 控件均支持属性绑定与事件处理。
3. 事件回调(Events)
控件的事件通过 Python 函数处理,如:
def on_click(e):
print("Clicked!")
button.on_click = on_click
支持:
- 点击
- 输入变化
- 列表选择
- 滑块调整
- 路由变化
- 文件上传事件等

