Flet — библиотека Python для создания привлекательных и функциональных пользовательских интерфейсов (UI) приложений для настольных компьютеров и веб-платформ. Она предоставляет готовые виджеты и стили, упрощая разработку.
Начало работы: Установка Flet и создание виртуального окружения
Для эффективной работы с Flet в VS Code рекомендуется установить расширение «Python». Это обеспечит подсветку синтаксиса и упростит создание виртуального окружения. Создайте виртуальное окружение (например, используя venv) и активируйте его. Затем установите Flet с помощью pip:
pip install flet
Создание базового Flet приложения
Создайте файл main.py и импортируйте библиотеку Flet:
import flet as ft
Создайте основную функцию приложения:
def main(page: ft.Page):
page.title = "Flet App"
page.vertical_alignment = ft.MainAxisAlignment.CENTER
# ... добавление элементов UI ...
Запустите приложение с помощью ft.app:
ft.app(target=main)
Добавление элементов UI
Определите тему приложения:
page.theme_mode = ft.ThemeMode.LIGHT # или ft.ThemeMode.DARK
Добавьте элементы с помощью ft.Row:
page.add(
ft.Row(
[
ft.IconButton(ft.icons.HOME),
ft.Icon(ft.icons.ARROW_BACK),
],
alignment=ft.MainAxisAlignment.CENTER,
)
)
Этот код добавляет ряд с иконками «Домик» и «Назад», выровненными по центру.
Текст и поле ввода
Добавьте ряд с текстом и полем ввода:
page.add(
ft.Row(
[
ft.Text("IO"),
ft.TextField(value="0", width=150, text_align=ft.TextAlign.CENTER),
]
)
)
Обработка событий
Для взаимодействия с элементами, добавьте обработчик событий. Например, функция для получения данных из поля ввода:
def get_info(e):
user_label.value = user_text.value
page.update()
Здесь user_label и user_text — переменные, хранящие ссылки на объекты ft.Text и ft.TextField.
Добавьте кнопку и обработчик события on_click:
user_label = ft.Text()
user_text = ft.TextField(value="0", width=150, text_align=ft.TextAlign.CENTER)
page.add(
ft.ElevatedButton(text="Click me", on_click=get_info)
)
При нажатии кнопки значение из поля ввода отобразится в текстовой надписи. page.update() обновляет интерфейс.
Веб-приложение
Для запуска приложения в веб-браузере добавьте параметр view в ft.app:
ft.app(target=main, view=ft.AppView.WEB_BROWSER)
Дополнительные возможности
Flet предоставляет множество виджетов (кнопки, выпадающие списки, элементы навигации, анимация и др.). Подробное описание доступно в официальной документации.
Flet позволяет создавать привлекательные и функциональные приложения на Python с минимальным количеством кода. Простота, встроенные стили и возможность создания веб-приложений делают её отличным инструментом для разработки UI.