Skip to main content

No project description provided

Project description

License: LGPL v3 Version

UITK: Dynamic UI Management for Python with qtpy

UITK is a comprehensive Python package designed to streamline the creation, management, and interaction of user interfaces (UIs) using Python3|qtpy. With a focus on versatility, UITK leverages a naming convention-based switchboard module to dynamically load UI files, register custom widgets, manage slots, styles, states, and facilitate interaction with widgets. The primary goal of UITK is to simplify the development process of complex UIs and enhance the efficiency of event handling.

Key Features

  • Dynamic UI file loading
  • Custom widget registration
  • Utility properties for MainWindow and child widget subclassing
  • Management of slot connections and event handling
  • Support for UI hierarchy navigation and submenus
  • Custom event behavior through UI tags
  • UI and slot history storage and retrieval
  • Widget syncing and state management.

Module Overview

Module Description
file_manager Allows for setting multiple locations for dynamic UI files, custom widgets, and slot modules.
switchboard Handles dynamic UI loading, assigns convenience properties, manages slot connections, syncs, saves, and restores widget states, etc.
events Manages event handling for dynamic UI widgets.
widgets A source directory for the custom widgets included with this package.

Installation:

Add the uitk folder to a directory on your python path, or install via pip in a command line window using:

python -m pip install uitk

Basic Example:

Create an instance of Switchboard to load and connect your dynamic ui.

from uitk import Switchboard
from uitk import example

sb = Switchboard(ui_location=example, slot_location=example.example_slots)
ui = sb.example  # Access the UI using its filename.

ui.set_attributes(WA_TranslucentBackground=True)  # Set properties using keyword arguments.
ui.set_flags(FramelessWindowHint=True, WindowStaysOnTopHint=True)
ui.set_style(theme="dark", style_class="translucentBgWithBorder")

print(repr(ui))
ui.show(pos="screen", app_exec=True)

Advanced Example:

https://github.com/m3trik/tentacle

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

uitk-1.0.21.tar.gz (205.5 kB view details)

Uploaded Source

Built Distribution

uitk-1.0.21-py3-none-any.whl (331.1 kB view details)

Uploaded Python 3

File details

Details for the file uitk-1.0.21.tar.gz.

File metadata

  • Download URL: uitk-1.0.21.tar.gz
  • Upload date:
  • Size: 205.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.9

File hashes

Hashes for uitk-1.0.21.tar.gz
Algorithm Hash digest
SHA256 3e3db9874b5605983ad3a59932de23b19e43b1abe79eccd2a93dcfb79d5dec17
MD5 db241fb00084ff4be244da64e58489cb
BLAKE2b-256 3181f18cb6e02472af9853d7d731ed38bf6c3edda17eec5ac40066e4a8ad86d5

See more details on using hashes here.

File details

Details for the file uitk-1.0.21-py3-none-any.whl.

File metadata

  • Download URL: uitk-1.0.21-py3-none-any.whl
  • Upload date:
  • Size: 331.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.9

File hashes

Hashes for uitk-1.0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 3cf34062213bd2246a261c38e6839abf266f1480e916109138f50fdf9dd3b810
MD5 cbae5eff77811489519735ee7dc10f50
BLAKE2b-256 1bef2033053df1a35fe4f7003e010e1b557c427be1258d8743e00642058edf5f

See more details on using hashes here.

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