Introduction

Flet is a framework for building web, desktop, and mobile applications using Python. It requires no prior frontend development experience.

Flet App Example: Counter

This example demonstrates a simple counter application.

Code (counter.py)

import flet as ft

def main(page: ft.Page): page.title = "Flet counter example" page.vertical_alignment = ft.MainAxisAlignment.CENTER

input = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)

def minus_click(e): input.value = str(int(input.value) - 1) page.update() # Added for completeness, though not in original text

def plus_click(e): input.value = str(int(input.value) + 1) page.update() # Added for completeness, though not in original text

page.add( ft.Row( alignment=ft.MainAxisAlignment.CENTER, controls=[ ft.IconButton(ft.Icons.REMOVE, on_click=minus_click), input, ft.IconButton(ft.Icons.ADD, on_click=plus_click), ], ) )

ft.run(main)

Running the App

1. **Install Flet:**

    pip install 'flet[all]'
    
2. **Launch the app:**
    flet run counter.py
    
This opens the app in a native OS window.

3. **Run as a web app:**

    flet run --web counter.py
    

Related Documentation Sections

  • [Getting Started](https://docs.flet.dev/getting-started/)
  • [Installation](https://docs.flet.dev/getting-started/installation/)
  • [API Reference](https://docs.flet.dev/api-reference/)
  • [Cookbook](https://docs.flet.dev/cookbook/)
  • [Publishing Flet app](https://docs.flet.dev/publish/)
  • [Extending Flet](https://docs.flet.dev/extend/)