Skip to main content

Modular event-driven GUI system for quickly building tools with Python and pyimgui.

Project description

toolgui

Modular event-driven GUI system for quickly building tools with Python and pyimgui.

Installation

pip install toolgui

Usage

Window

Create a window that can be opened from the menu bar.

import imgui
import toolgui

@toolgui.window("Example/Hello World")
def hello_example():
    imgui.text("Hello!")

toolgui.set_app_name("Hello World Example")
toolgui.start_toolgui_app()

Settings

Persist state across sessions. Data is saved to the toolgui.ini file.

import imgui
import toolgui

@toolgui.settings("Number Picker")
class Settings:
    my_number = 0

@toolgui.window("Example/Number Picker")
def number_picker():
    Settings.my_number = imgui.input_int("My Number", Settings.my_number, 1)[1]

toolgui.set_app_name("Number Picker Example")
toolgui.start_toolgui_app()

Menu Item

Call a static function from the menu bar.

@toolgui.menu_item("Example/Reset")
def reset():
    Settings.my_number = 0

Events

Event functions are executed by toolgui with these decorators.

Application Start

Executed when the application starts.

@toolgui.on_app_start()
def on_app_start():
    print("Application started")

Application Quit

Executed when the application quits.

@toolgui.on_app_quit()
def on_app_quit():
    print("Application quit")

Update

Executed every frame.

@toolgui.on_update()
def on_update():
    # do_something()

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

toolgui-0.0.10.tar.gz (94.1 kB view hashes)

Uploaded Source

Built Distribution

toolgui-0.0.10-py3-none-any.whl (93.6 kB 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