Skip to content

什么是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

python
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模块:

python
pip install flet

运行程序:

python
python counter.py

该应用程序将在本机操作系统窗口中启动 - 这是 Electron 的一个很好的替代品!

macOS Flet for macOS

Windows Flet for Windows

现在,如果您想将应用程序作为Web应用程序运行,只需将最后一行替换为:

python
ft.app(target=main, view=ft.AppView.WEB_BROWSER)

再次运行,现在你立即得到一个网络应用程序:

Flet for Web

以上通过一个超级简单的计数案例给您演示了Flet的基本功能。想了解如何构建真正的应用程序吗?请关注后续Flet系列教程。

遇码MeetCoding 开源技术社区