一个神奇的Python库——Flet系列教程:快速实现桌面GUI
用Python快速创建Flutter应用Flet 是一个框架,允许使用您最喜欢的语言构建交互式多用户 Web、桌面和移动应用程序,而无需具备前端开发经验。如果您有创建GUI应用的需求,同时你只会Python语言,那么Flet可能就是你的最佳选择之一。您可以使用基于Google Flutter的Flet控件为您的程序构建UI。
什么是Flet
The fastest way to build Flutter apps in Python.
用Python快速创建Flutter应用
Flet enables developers to easily build realtime web, mobile and desktop apps in Python. No frontend experience required.
Flet 是一个框架,允许使用您最喜欢的语言构建交互式多用户 Web、桌面和移动应用程序,而无需具备前端开发经验。
如果您有创建GUI应用的需求,同时你只会Python语言,那么Flet可能就是你的最佳选择之一。
您可以使用基于Google Flutter的Flet控件为您的程序构建UI。Flet 不只是“包装”Flutter小部件,而是通过组合较小的小部件、隐藏复杂性、实现UI最佳实践、应用合理的默认值来添加自己的“意见” - 所有这些都是为了确保您的应用程序看起来很酷且专业,而无需额外的努力。
Flet应用案例
目前您可以使用Python编写Flet应用程序,很快也会增加其他语言。
这是一个示例“Counter”应用:
counter.py
import flet as ft
def main(page: ft.Page):
page.title = "Flet counter example"
page.vertical_alignment = ft.MainAxisAlignment.CENTER
txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)
def minus_click(e):
txt_number.value = str(int(txt_number.value) - 1)
page.update()
def plus_click(e):
txt_number.value = str(int(txt_number.value) + 1)
page.update()
page.add(
ft.Row(
[
ft.IconButton(ft.icons.REMOVE, on_click=minus_click),
txt_number,
ft.IconButton(ft.icons.ADD, on_click=plus_click),
],
alignment=ft.MainAxisAlignment.CENTER,
)
)
ft.app(target=main)
要运行应用程序需要安装flet模块:
pip install flet
运行程序:
python counter.py
该应用程序将在本机操作系统窗口中启动 - 这是 Electron 的一个很好的替代品!
macOS
Windows
现在,如果您想将应用程序作为Web应用程序运行,只需将最后一行替换为:
ft.app(target=main, view=ft.AppView.WEB_BROWSER)
再次运行,现在你立即得到一个网络应用程序:
以上通过一个超级简单的计数案例给您演示了Flet的基本功能。想了解如何构建真正的应用程序吗?请关注后续Flet系列教程。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)