• 发文
  • 评论
  • 微博
  • 空间
  • 微信

一个神奇的Python库——Flet系列教程:快速实现桌面GUI

飞桨PPDB 2024-03-08 10:20 发布于加拿大 发文

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

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

声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    已认证
    飞桨PPDB

    大数据领域优质创作者...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码