What is Flet?

Flet is a framework that allows you to create web, desktop, and mobile applications using Python, without requiring prior frontend development experience.

With Flet, you can build user interfaces (UI) for your programs using controls based on Flutter (by Google). Flet goes beyond merely encapsulating Flutter widgets. It combines smaller widgets, simplifies complex processes, implements best UI design practices, and applies sensible default configurations. This ensures that your applications have a modern and polished look without requiring extensive design effort.

The Fastest Way to Create Flutter Applications in Python

Example Application with Flet

Let's create a basic application called "Counter":

File: counter.py

import flet as ft

def main(page: ft.Page):
    page.title = "Counter Example with Flet"
    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(main)

Example Preview:

  • macOS:

  • Windows:

  • Browser preview:

With Flet, you can quickly create modern and responsive applications, hassle-free!