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.52.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.52-py3-none-any.whl (138.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dex_framework-0.0.52.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.52.tar.gz
Algorithm Hash digest
SHA256 f76a2d7a3afec0cccd9e58b08d281d58da9e8506783c0fda2326b5a40401fef7
MD5 6dc7e29ad8ea0769900f0cba1e95e0a9
BLAKE2b-256 2efb96591f42aa4a0d31341ffddb8a5409a2ae5b9c4d8c91c98d8c744858f059

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dex_framework-0.0.52-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.52-py3-none-any.whl
Algorithm Hash digest
SHA256 f1df68a6dadba0e6d50fadd8f073e641d729d3033bd5788ac143001eea5ccef2
MD5 7cb78a7a6df7ffc7887d9a05e5f9632c
BLAKE2b-256 7a434fb78e002042c2cb726dd1c0934312a0b081a214dc1fa674cc5a62b31d41

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