Flet
Flet permet als desenvolupadors crear fàcilment aplicacions web, mòbils i d'escriptori en temps real amb Python.
Introducció
Section titled “Introducció”Flet permet construir una interfície d’usuari pel teu programa amb controls Flet que estan basats en Flutter de Google.
Flet va més enllà de simplement empaquetar els widgets de Flutter. Afegeix el seu propi toc combinant widgets més petits, simplificant complexitats, implementant les millors pràctiques d’interfície d’usuari i aplicant valors predeterminats sensats. Això assegura que les teves aplicacions es vegin elegants i polides sense requerir esforços addicionals de disseny per la teva part.
Crea una aplicació
Section titled “Crea una aplicació”Crea un projecte amb UV:
uv init schoolcd school
Executa la següent comanda per afegir Flet com a dependència:
uv add 'flet[all]' --dev
Assegura’t que el CLI de Flet s’ha instal·lat i es pot executar:
uv run flet --version
Per crear una nova aplicació Flet “mínima”, executa la següent comanda:
uv run flet create
Modifica el fitxer main.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(main)
El fitxer src/main.py
conté el programa Flet. Té una funció main()
on afegiràs elements d’interfície d’usuari (controls) a una pàgina o finestra.
L’aplicació acaba amb una funció bloquejant ft.app()
que inicialitza l’aplicació Flet i executa main()
.
Executant l’aplicació Flet
Section titled “Executant l’aplicació Flet”L’aplicació Flet es pot executar com a aplicació d’escriptori o web utilitzant una única comanda flet run.
Executa com a aplicació d’escriptori
Section titled “Executa com a aplicació d’escriptori”Per executar l’aplicació Flet com a aplicació d’escriptori, utilitza la següent comanda:
uv run flet run
Aquesta comanda executarà main.py
ubicat al directori actual.
L’aplicació s’iniciarà en una finestra nativa del sistema operatiu!
Executa com a aplicació web
Section titled “Executa com a aplicació web”Per executar l’aplicació Flet com a aplicació web, utilitza la següent comanda:
uv run flet run --web
S’obrirà una nova finestra/pestanya del navegador i l’aplicació utilitzarà un port TCP aleatori.
Per executar en un port fix, utilitza l’opció --port
(-p
), per exemple:
uv run flet run --web --port 8000 main.py
Hot reload
Section titled “Hot reload”Per defecte, Flet vigilarà el fitxer de script que s’ha executat i recarregarà l’aplicació cada vegada que el fitxer es modifiqui i es guardi, però no vigilarà els canvis en altres fitxers.
uv run flet run -d
Per vigilar el directori del script i tots els subdirectoris recursivament, utilitza la següent comanda:
poetry run flet run -d -r [script]
Controls
Section titled “Controls”La interfície d’usuari està feta de Controls (també coneguts com a widgets).
Per fer els controls visibles a l’usuari, han de ser afegits a una Page
o dins d’altres controls. Page
és el control de nivell superior. La nidificació de controls es pot representar com un arbre amb Page
com a arrel.
Els controls són simplement classes Python. Crea instàncies de control mitjançant constructors amb paràmetres que coincideixin amb les seves propietats, per exemple:
t = ft.Text(value="Hello, world!", color="green")
Per mostrar el control en una pàgina, afegeix-lo a la llista de controls de la Pàgina i crida page.update()
per enviar els canvis de la pàgina al navegador o client d’escriptori:
import flet as ft
def main(page: ft.Page): t = ft.Text(value="Hello, world!", color="green") page.controls.append(t) page.update()
ft.app(main)
uv run flet run text.py
Youtube
Section titled “Youtube”A continuació tens un videos que t’explica tot el que et fa falta:
El contingut d'aquest lloc web té llicència CC BY-NC-ND 4.0.
©2022-2025 xtec.dev