Skip to main content

flet-box-gui it's a GUI Dragg and drop BUILDER.

Project description

Flet-Box:

It's a Python GUI Framework for Multi-Platform Apps

Gallery Preview FLET-BOX

Gallery Preview FLET-BOX Imagen Flet-Box Icons Flet-Box Colors Flet-Box Colors Flet-Box Colors Flet-Box

More info documentation

Our goals and Roadmap

Certainly! Let's create a documentation for Flet-Box, a GUI framework that simplifies building multi-platform apps using drag-and-drop widgets in the Python language.

Instalation Flet-Box

>>> mkdir My_app
>>> cd My_app

Run one time

>>> python3 -m venv .venv

Activate virtual env

>>> source .venv/bin/activate
>>> pip install flet
>>> pip install -r requirements.txt

Install manually

>>> git clone https://github.com/xavier53348/Flet-Box.git

By pypi repo

>>> pip install flet-box-gui

Easy run Flet-Box

>>> flet flet_box/flet_box.py

Easy way run a save APP

>>> flet test/proyect_name/proyect_name/main.py

Introduction

Flet-Box is a powerful framework that enables developers to create interactive multi-user web, desktop, and mobile applications. Whether you're a seasoned developer or just starting out, Flet-Box makes frontend development accessible without prior experience. Here are the key features:

  1. Cross-Platform: Build apps that run seamlessly on web browsers, desktop environments (like macOS and Windows), and mobile devices.

  2. Drag-and-Drop Widgets: Easily design your app's user interface by dragging and dropping widgets.

  3. Based on Flutter: Flet-Box is a fork of Flet Framework leverages the power of Flutter by Google, but it doesn't stop there. It adds its own opinion by combining smaller widgets, implementing UI best practices, and applying reasonable defaults to ensure your apps look professional without extra effort.

Getting Started with Flet-Box in Python

To get started, you don't need to be a front-end guru, but basic knowledge of Python and object-oriented programming is recommended. Let's dive into the basics:

Learn More

Ready to build real-world apps? Check out the official Flet documentation and explore tutorials for your preferred language, including Python3. Happy coding! ๐Ÿš€

Widgets aviables with Flet-Box Now on building

Certainly! In Flet-Box, you can create drag-and-drop interactions using the LongPressDraggable widget. Let's break down how to achieve this:

  1. LongPressDraggable: This widget recognizes when a user performs a long press (sometimes called touch & hold) on a widget. It then displays a new widget near the user's finger. As the user drags, the widget follows their finger. You have full control over the widget that the user drags.
  • Wrap your UI element (widget) with a LongPressDraggable. For example, if you have a list of menu items, each displayed using a custom MenuListItem widget, you can wrap it like this:

Widgets will be Updating ...

You mey use now the currents widgets that are marked

SPACE LAYOUTS IMAGE WIDGET ALERTS STATUS
ft.divider โœ” ft.image โœ” ft.snackbar โœ˜
ft.verticaldivider + ft.circleavatar + ft.tooltip โœ”
ft.icon โœ” ft.cupertinoalertdialog โœ˜
ft.cupertinodialogaction โœ˜
CONTAINERS LAYOUTS CHARTS LAYOUTS TEXT WIDGET
ft.stack โœ” ft.barchart โœ˜ ft.text โœ”
ft.row โœ” ft.charts โœ˜ ft.textfield โœ”
ft.gridview โœ” ft.linechart โœ˜ ft.listview โœ˜
ft.column โœ” ft.matplotlibchart โœ˜ ft.datatable โœ˜
ft.container โœ” ft.piechart โœ˜
ft.card โœ˜ ft.plotlychart โœ˜
ft.responsiverow โœ˜
ft.transparentpointer โœ˜
BUTTONS WIDGET SELECTIONS WIDGET ESPECIAL WIDGET
ft.textbutton โœ” ft.switch โœ˜ ft.tabs โœ˜
ft.filledbutton โœ” ft.checkbox โœ” ft.navigationbar โœ˜
ft.filledtonalbutton โœ” ft.cupertinocheckbox โœ” ft.cupertinoappbar โœ˜
ft.iconbutton โœ” ft.cupertinoradio โœ” ft.navigationdrawer โœ˜
ft.elevatedbutton โœ” ft.cupertinoslider โœ” ft.navigationrail โœ˜
ft.chip โœ” ft.cupertinoswitch โœ” ft.menubar โœ˜
ft.outlinedbutton โœ” ft.submenubutton โœ˜ ft.appbar โœ˜
ft.bottomappbar โœ˜ ft.dropdown โœ˜ ft.cupertinonavigationbar โœ˜
ft.bottomsheet โœ˜ ft.datepicker โœ˜ ft.searchbar โœ˜
ft.segmentedbutton โœ˜ ft.timepicker โœ˜
ft.floatingactionbutton โœ˜ ft.filepicker โœ˜
ft.radio โœ˜
WIDGETS STATUS
ft.slider โœ˜
ft.progressbar โœ˜
ft.progressring โœ˜
ft.alertdialog โœ˜
ft.rangeslider โœ˜

Path Flet-Box Modules

.
โ”œโ”€โ”€ full_path.txt
โ”œโ”€โ”€ src
โ”‚ย ย  โ”œโ”€โ”€ assets
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ avatar.jpg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ avatar.png
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ dragg_container3.jpg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ dragg_container.jpg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ image.jpg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ img.jpg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ iphone.png
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ logo.jpg
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ logo_mark.png
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ my_avatar.png
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ no_imagen.jpg
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ splash.jpg
โ”‚ย ย  โ”œโ”€โ”€ bump-version.sh
โ”‚ย ย  โ”œโ”€โ”€ CHANGELOG.md
โ”‚ย ย  โ”œโ”€โ”€ extra_utils
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ about
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ about.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ alert
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ alert_selected.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ chat_gpt_browser
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ gpt_browser.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ library_chatgpt.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ color_browser
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ color_browser.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ config_container
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ bool_entry.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ color_entry.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ double_entry.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ four_entry.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ gradient_entry.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ selection_entry.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ single_entry.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ widget_editor.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ drag_container
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ dragg_widget.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ drag_handler_container.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ infinity_box_layer_one.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ widget_drag_editor.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ icon_browser
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ icon_browser.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ lite_menu_bar_down_phone
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ footer_bar_menu_phone.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ selected_widget.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ lite_menu_bar_up_phone
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ head_bar_menu_phone.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ menu_tab_left_phone
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ widget_menu_left_editor.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ menu_tab_up_phone
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ basic_menu_tab_up.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ widget_menu_tab_editor.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ phone_container
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ widget_phone_editor.py
โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ settings_var
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ save_export.py
โ”‚ย ย  โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ settings_widget.py
โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ tree_view
โ”‚ย ย  โ”‚ย ย      โ”œโ”€โ”€ tree_view.py
โ”‚ย ย  โ”‚ย ย      โ””โ”€โ”€ tree_view_text_editor.py
โ”‚ย ย  โ”œโ”€โ”€ flet_box.py
โ”‚ย ย  โ”œโ”€โ”€ __main__.py
โ”‚ย ย  โ””โ”€โ”€ VERSION
โ””โ”€โ”€ workflows

18 directories, 47 files

Certainly!

If you're passionate about shaping the future of frameworks and contributing to their development, I invite you to join our collaborative efforts. Here's how you can get involved:

  1. Documentation and Modules:

    • Documentation: We're actively working on creating comprehensive documentation for our Flet-Box framework. Your contributions can help make it more accessible, accurate, and user-friendly. Whether you're an expert or a beginner, your insights matter!

    • Modules: Our framework consists of various modules that handle different aspects of Flet activities. If you have expertise in any specific area (such as Documentation, Modules, or consensus algorithms ), consider contributing by improving existing modules or proposing new ones.

  2. Financial Considerations:

    • If you're passionate about supporting open-source projects and want to contribute to the Flet-box Framework, here's a simple invitation for you:

    You may contribute Donating tokens to give suppor to the proyect in MATIC , BINANCE or TRX Tokens

    • Low Fees: In transactions have extremely low fees, making it ideal for micro-donations.
    • Invite me a COFFE or a BEER ..

    How to Donate Tokens:

    • Get Token: Purchase MATIC , BINANCE or TRX on platforms like Binance, Coinbase, or Uniswap.
    • Donate: Visit the Flet-box page and contribute directly. Every donation counts!

    MATIC WALLET

SPACE LAYOUTS ADDRESS
0x6d437bB66af8d2c44670eA18F059BE1417Dcd7bA
THi2UTY8SrUYNrzqKek8U3pvLuEF5y4fDQ
bnb1vhe8q5zf2fr6s0ga8dnm5nzaz9uapky6w2xcnr
- **Learn More**: Explore Flet-box's mission, roadmap, and community initiatives on their official website.
  1. Collaboration and Feedback:
    • We value diverse perspectives. Engage in discussions, attend working groups, and provide feedback during public consultations.

How to Get Started:

  • Reach out to our team via the provided contact details if you have specific questions or want to contribute directly.
  • Remember, every contribution counts! Let's build a robust and forward-looking framework that fosters innovation while safeguarding financial stability.

How contribute to build Widget dragg in flet-Box

  1. Build left take dragg selection widgets.

Exemple:

self.RowDragg  = DraggWidget( widget='Row' ,color='BLUE' ,icons= ft.icons.BURST_MODE_ROUNDED)
**Properties:**

    * widget <== 'Widget name'
    * color  <== 'Color of the box Dragg'
    * icons  <== 'icons of the box Dragg'

* **we create a Object named self.RowDragg that we will add inside drag_container_to_phone object.**

#### After we need add manual inside [ drag_container_to_phone ]
  1. Exemple build left take dragg selection widgets inside drag_container_to_phone.
ft.Container(
        content=ft.GridView(
                            runs_count=3,
                            run_spacing=8,
                            padding=4,
                            spacing=8,
                            expand=1,
                        controls=[
                                    self.RowDragg, # <============= add inside
                                 ],
  1. Go to infinity_box_layer_one.py and add Manually.

Location:

  • 'extra_utils/drag_container/infinity_box_layer_one.py'

  • we need build the Container that will have the drop Widget inside

Exemple how will be

"Row": [
            ft.Container(bgcolor='blue',alignment=ft.alignment.center,padding=ft.padding.all(4),border=ft.border.all(0.8, ft.colors.BLACK),tooltip='Row',
        on_hover=lambda _:self.resetClick(),
        on_click=lambda _:self.touchWidgetIndex(self.infinityDropWidget),
        content=ft.Row( scroll="ALWAYS",
            controls= [
                           ],),),
  ],

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

flet-box-gui-0.1.2.2.tar.gz (1.3 MB view hashes)

Uploaded Source

Built Distribution

flet_box_gui-0.1.2.2-py3-none-any.whl (1.3 MB view hashes)

Uploaded Python 3

Supported by

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