Skip to main content

Components for DPG

Project description

dpg-components

"A component is a piece of the UI (user interface) that has its own logic and appearance. A component can be as small as a button, or as large as an entire page." Components are a powerful abstraction.

The goal of this project is to bring Components to DearPyGui

  • Components should be first class citizens, i.e. use the same API as regular DPG Items.
  • Components can contain other Components or regular DPG Items.
  • Reusability is achieved through composition.

Install

pip install DPGComponents

How it works ?

Copy file DPGComponents.py into your project, then after import, you can interact with DPG as normal and also call the method "add_component" to add complex components to your project. You can also define your own components by implementing abstract class "DPGComponent".

from datetime import datetime
import dearpygui.dearpygui as dpg
import DPGComponents
import DPGComponents.DPGComponents as comps
import pandas as pd

def save_callback():
    print("Save Clicked")

dpg.create_context()
dpg.create_viewport()
dpg.setup_dearpygui()

with dpg.window(label="Example Window"):
    dpg.add_text("Hello world")
    dpg.add_button(label="Save", callback=save_callback)
    dpg.add_input_text(label="string")
    dpg.add_slider_float(label="float")

    # add a Date Picker component
    dpg.add_component(comps.DatePickerComp, tag=f'date_picker_1')
    # Set default date to today
    dpg.configure_item(f'date_picker_1', default_value = datetime.now().date())

    #Add data grid
    dpg.add_component(comps.DataGridComp, tag=f'data_grid_1')    
    data = {
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 28],
        'City': ['New York', 'London', 'Paris']
    }
    df = pd.DataFrame(data)
        
    # Set data grid value
    dpg.set_value('data_grid_1', value = df)
        

dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()

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

dpgcomponents-0.0.5.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

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

dpgcomponents-0.0.5-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file dpgcomponents-0.0.5.tar.gz.

File metadata

  • Download URL: dpgcomponents-0.0.5.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for dpgcomponents-0.0.5.tar.gz
Algorithm Hash digest
SHA256 cb4099b361569986926767aef2b22054658cceff265d779f45776d4e4bb08e54
MD5 fd71b5742052217e5e649f46121adef7
BLAKE2b-256 ae0d0810799e16d6da69f5d70105df167ff9b95dffd6f9ace0c8d0d83f727c8e

See more details on using hashes here.

File details

Details for the file dpgcomponents-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: dpgcomponents-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for dpgcomponents-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6e37a4822e5d79314bb811e6b1f54765d83f90c5d0c302dade59aa5ea2fe2ca6
MD5 36db7d2a3549784bbf0b6c3a2c62af6a
BLAKE2b-256 d45d77dbc68d47e53593e0137d551c657153c48cea843eac887ae2c68a529095

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