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-84.0.2.tar.gz (65.6 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-84.0.2-py3-none-any.whl (138.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dex_framework-84.0.2.tar.gz
Algorithm Hash digest
SHA256 41470d957b3bf8e3041a25c8bf3848741e84a1445451fe68cd933617bcac641d
MD5 6d9a5498439a393b71e9814853deee53
BLAKE2b-256 bee81f3f8cc8f4f57d491baf7375ed737c341d9448b43da2ce21f90d45f8e8b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dex_framework-84.0.2-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-84.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8da478199bfcf34f4a33aacaa46e8e66a8d34f4575cd0be043dce017543d79ac
MD5 96fb78cd9627482dcd913e7b9ea3eafb
BLAKE2b-256 571fee98e8792c7ad4e39a1310eb48f714fee7a50bd72251fbf1688ad424b758

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