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 v3.0.0 — 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.50.tar.gz (65.9 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.50-py3-none-any.whl (138.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dex_framework-0.0.50.tar.gz
  • Upload date:
  • Size: 65.9 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.50.tar.gz
Algorithm Hash digest
SHA256 3664b96c4621bd0146a075edd7fc4ec1ed3f0e2e6f064646d78b38274a42d25b
MD5 59f81b46f62703c8b6bf02e0ca17bd6b
BLAKE2b-256 ee092567156083a3ccfc833a1a49880e27d38e521b33dedd0fe0146751f60fe5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dex_framework-0.0.50-py3-none-any.whl
  • Upload date:
  • Size: 138.8 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.50-py3-none-any.whl
Algorithm Hash digest
SHA256 be6ebe0f87cc55363e86fc2b8f7e2d73366d38765447e8245cc4f86fb889431b
MD5 c422c3a081b871cb64de86ce109dbfae
BLAKE2b-256 5a450ed829b16442e33b6cc60e19f17b6f542c11d68d8493f7fb353a5dca59ff

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