Skip to main content

Biblioteca reutilizável que encapsula todos os componentes do Flet v0.84.0, organizada em grupos temáticos.

Project description

DEx-Framework v0.0.49

Biblioteca reutilizável que encapsula todos os componentes do Flet v0.84.0, organizada em grupos temáticos, com UseCases demonstrativos para cada grupo.


Instalação

pip install flet==0.84.0

Clone o repositório e adicione ao PYTHONPATH ou instale em modo editável:

git clone <repo-url>
cd DEx-Framework_3
pip install -e .

Uso básico

Exemplo 1 — Botão com dex_id e callback de montagem

import flet as ft
from dex_framework import DEx_ElevatedButton

def main(page: ft.Page) -> None:
    btn = DEx_ElevatedButton(
        text="Salvar",
        dex_id="btn_salvar",
        on_click=lambda e: print("clicou"),
        on_dex_ready=lambda c: print(f"{c.dex_id} montado"),
    )
    page.add(btn)

ft.app(target=main)

Exemplo 2 — Layout responsivo

import flet as ft
from dex_framework import DEx_ResponsiveRow, DEx_Container, DEx_Text

def main(page: ft.Page) -> None:
    row = DEx_ResponsiveRow(
        dex_id="row_principal",
        controls=[
            DEx_Container(
                col={"sm": 12, "md": 6},
                content=DEx_Text("Coluna esquerda", dex_id="txt_esq"),
                bgcolor=ft.Colors.BLUE_50,
                padding=16,
            ),
            DEx_Container(
                col={"sm": 12, "md": 6},
                content=DEx_Text("Coluna direita", dex_id="txt_dir"),
                bgcolor=ft.Colors.GREEN_50,
                padding=16,
            ),
        ],
    )
    page.add(row)

ft.app(target=main)

Exemplo 3 — Tema customizado

import flet as ft
from dex_framework import DEx_Theme, DEx_ColorScheme

def main(page: ft.Page) -> None:
    page.theme = DEx_Theme(
        color_scheme_seed=ft.Colors.INDIGO,
        color_scheme=DEx_ColorScheme(
            primary=ft.Colors.INDIGO,
            secondary=ft.Colors.TEAL,
            dex_id="esquema_app",
        ),
        dex_id="tema_app",
    )
    page.add(ft.Text("App com tema DEx!", size=24))

ft.app(target=main)

Estrutura de grupos

Grupo Componentes Quantidade
layout DEx_Row, DEx_Column, DEx_Stack, DEx_Container, DEx_ResponsiveRow, DEx_SafeArea 6
navigation DEx_AppBar, DEx_NavigationBar, DEx_NavigationRail, DEx_NavigationDrawer, DEx_Tabs, DEx_CupertinoNavigationBar 6
input DEx_TextField, DEx_Dropdown, DEx_Checkbox, DEx_Radio, DEx_RadioGroup, DEx_Switch, DEx_Slider, DEx_RangeSlider, DEx_DatePicker, DEx_TimePicker, DEx_CupertinoTextField, DEx_CupertinoCheckbox, DEx_CupertinoSlider, DEx_CupertinoSwitch 14
buttons DEx_ElevatedButton, DEx_FilledButton, DEx_FilledTonalButton, DEx_OutlinedButton, DEx_TextButton, DEx_IconButton, DEx_FloatingActionButton, DEx_PopupMenuButton, DEx_MenuItemButton, DEx_SubmenuButton, DEx_CupertinoButton, DEx_CupertinoFilledButton 12
display DEx_Text, DEx_Icon, DEx_Image, DEx_CircleAvatar, DEx_Card, DEx_DataTable, DEx_ListView, DEx_GridView, DEx_ListTile, DEx_ExpansionTile, DEx_ExpansionPanel, DEx_Markdown 12
feedback DEx_ProgressBar, DEx_ProgressRing, DEx_SnackBar, DEx_AlertDialog, DEx_Banner, DEx_Tooltip, DEx_Badge, DEx_Chip, DEx_CupertinoAlertDialog, DEx_CupertinoActivityIndicator 10
overlay DEx_BottomSheet, DEx_CupertinoBottomSheet, DEx_Drawer, DEx_SearchBar, DEx_SearchAnchor, DEx_MenuBar, DEx_Pagelet 7
media DEx_Audio, DEx_Video, DEx_Lottie 3
canvas DEx_Canvas 1
maps DEx_Map 1
charts DEx_BarChart, DEx_LineChart, DEx_PieChart 3
scrolling DEx_ScrollableControl, DEx_DragTarget 2
interaction DEx_GestureDetector, DEx_Draggable, DEx_Dismissible, DEx_SelectionArea, DEx_TransparentPointer 5
theming DEx_Theme, DEx_ColorScheme 2
Total 84

Como rodar os UseCases

Os UseCases ficam na pasta usecases/ na raiz do projeto. Execute a partir da raiz do projeto (DEx-Framework_3/):

# Grupo buttons
python -m usecases.buttons.UC_buttons

# Grupo layout
python -m usecases.layout.UC_layout

# Grupo navigation
python -m usecases.navigation.UC_navigation

# Grupo input
python -m usecases.input.UC_input

# Grupo display
python -m usecases.display.UC_display

# Grupo feedback
python -m usecases.feedback.UC_feedback

# Grupo overlay
python -m usecases.overlay.UC_overlay

# Grupo media
python -m usecases.media.UC_media

# Grupo canvas
python -m usecases.canvas.UC_canvas

# Grupo maps
python -m usecases.maps.UC_maps

# Grupo charts
python -m usecases.charts.UC_charts

# Grupo scrolling
python -m usecases.scrolling.UC_scrolling

# Grupo interaction
python -m usecases.interaction.UC_interaction

# Grupo theming
python -m usecases.theming.UC_theming

Convenções DEx

Todos os componentes DEx seguem estas regras:

  • Herança direta de ft.<NomeOriginal> — 100% da API Flet preservada
  • dex_id: str — identificador keyword-only para rastreamento
  • on_dex_ready — callback disparado após montagem na árvore (did_mount)
  • Type hints em todas as assinaturas (PEP 484)
  • Docstrings Google Style em toda classe e método público
# Todos os componentes aceitam:
componente = DEx_<Nome>(
    # ... parâmetros nativos do Flet ...
    dex_id="meu_id",                        # identificador único
    on_dex_ready=lambda c: print(c.dex_id), # callback de montagem
)

DEx-Framework v0.0.49 — gerado via Claude Code

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dex_framework-0.0.54.tar.gz (65.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dex_framework-0.0.54-py3-none-any.whl (138.9 kB view details)

Uploaded Python 3

File details

Details for the file dex_framework-0.0.54.tar.gz.

File metadata

  • Download URL: dex_framework-0.0.54.tar.gz
  • Upload date:
  • Size: 65.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for dex_framework-0.0.54.tar.gz
Algorithm Hash digest
SHA256 5665789c6d4412226c09a84b250ebb4b6960bc96cc8f91606b7f90fe77e131a6
MD5 c0c88ab395e6945a49da12f1947e1ba0
BLAKE2b-256 f5b083952cf2a5d8db905431324a4aaecc3ae769cffeeb932e92fe17d43d2912

See more details on using hashes here.

File details

Details for the file dex_framework-0.0.54-py3-none-any.whl.

File metadata

  • Download URL: dex_framework-0.0.54-py3-none-any.whl
  • Upload date:
  • Size: 138.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for dex_framework-0.0.54-py3-none-any.whl
Algorithm Hash digest
SHA256 858688df573cc2d316ab28febf41bcd31d8676dd72fb81b34da04507c0e08136
MD5 4dff0ff49562b40973ce5df2faca40fd
BLAKE2b-256 95c39ba30d6bb398c4607ea367f89f7d5016141f8c17b9e572659dc6a1d6edd9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page