Skip to main content

ImageUI

A package for easily creating UIs in Python, mainly using OpenCV's drawing functions.

Installation

pip install ImageUI

Usage

import SimpleWindow
import ImageUI
import numpy
import time

# Create a background to render the UI on
Background = numpy.zeros((250, 400, 3), dtype=numpy.uint8)
Background[:] = (28, 28, 28)

# Initialize a window could be a OpenCV window too
window = SimpleWindow.Window(name="Example Window",
                             size=(Background.shape[1], Background.shape[0]),
                             position=(100, 100),
                             title_bar_color=(28, 28, 28),
                             border_color=(None, None, None),
                             resizable=False,
                             topmost=False,
                             foreground=True,
                             minimized=False,
                             undestroyable=False,
                             icon="",
                             no_warnings=False)

# Get all available translation languages
TranslationLanguages = list(ImageUI.Translations.GetAvailableLanguages().keys())

def SetTranslator(Language):
    # Set the auto UI translator, automatically translates all the UI elements
    ImageUI.SetTranslator(SourceLanguage="English", DestinationLanguage=Language)

def SetTheme(Theme):
    ThemeColor = (28, 28, 28) if Theme == "Dark" else (250, 250, 250)
    Background[:] = ThemeColor
    # Set the ImageUI theme, either "Dark" or "Light"
    ImageUI.SetTheme(Theme)
    window.set_title_bar_color(color=ThemeColor)

while True:
    # Add a button to the UI
    ImageUI.Button(Text="Button",
                   X1=10,
                   Y1=10,
                   X2=150,
                   Y2=45,
                   ID="Button",
                   OnPress=lambda: print("Button pressed!"))

    # Add a switch to the UI
    ImageUI.Switch(Text="Switch",
                   X1=10,
                   Y1=55,
                   X2=150,
                   Y2=80,
                   ID="Switch",
                   OnChange=lambda State: print("Switch changed to:", State))

    # Add a label to the UI
    ImageUI.Label(Text="This is a Label",
                  X1=200,
                  Y1=55,
                  X2=380,
                  Y2=80,
                  ID="Label")

    # Add a dropdown for language selection to the UI
    ImageUI.Dropdown(Title="Dropdown",
                     Items=TranslationLanguages,
                     DefaultItem="English",
                     X1=10,
                     Y1=90,
                     X2=190,
                     Y2=125,
                     ID="LanguageDropdown",
                     OnChange=SetTranslator)

    # Add a dropdown for theme selection to the UI
    ImageUI.Dropdown(Title="Theme",
                     Items=["Dark", "Light"],
                     DefaultItem="Dark",
                     X1=200,
                     Y1=90,
                     X2=380,
                     Y2=125,
                     ID="ThemeDropdown",
                     OnChange=SetTheme)

    # Add an input to the UI
    ImageUI.Input(X1=10,
                  Y1=135,
                  X2=380,
                  Y2=170,
                  Placeholder="Enter something...",
                  ID="Input",
                  OnChange=lambda Text: print("Input changed to:", Text))

    # Render the UI on the background
    Frame = ImageUI.Update(WindowHWND=window.get_handle(), Frame=Background)

    # Show the background with the UI rendered on it
    window.show(frame=Frame)

    # Check if the window is closed
    if window.get_open() != True:
        # Saves cache like translations
        ImageUI.Exit()
        break

    # Limit to about 60 FPS
    time.sleep(1 / 60)

Metadata

Release files for ImageUI 0.43

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ImageUI 0.43
File Size Uploaded
imageui-0.43.tar.gz 54.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ImageUI 0.43
File Interpreter ABI Platform
imageui-0.43-py3-none-any.whl Python 3 none any Details

Total release size: 97.9 kB

Release files / imageui-0.43.tar.gz

Download URL imageui-0.43.tar.gz
Size 54.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cd9435f81d94b592c868a76f7b4ffc49ed9d830c0d5c056bbf9b800933369b12
BLAKE2b-256 checksum
How to use checksums
35aa47b7d1b7ad124c239ddf25f48e85cc5ac8e8b5dcaf199d2990c82dc6ab1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / imageui-0.43-py3-none-any.whl

Download URL imageui-0.43-py3-none-any.whl
Size 43.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c30fff60cc5a854d540f8387265126944f7b2b08eb0ffe2b659433d95d180ae
BLAKE2b-256 checksum
How to use checksums
58044d4b27534170d13d614528142ee529e6fe9567a7ffe9ef88addafa0a3e1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.43 This release

2 release files

0.42

2 release files

0.41

2 release files

0.40

2 release files

0.39

2 release files

0.38

2 release files

0.37

2 release files

0.36

2 release files

0.35

2 release files

0.34

2 release files

0.33

2 release files

0.32

2 release files

0.31

2 release files

0.30

2 release files

0.29

2 release files

0.28

2 release files

0.27

2 release files

0.26

2 release files

0.25

2 release files

0.24

2 release files

0.23

2 release files

0.22

2 release files

0.21

2 release files

0.20

2 release files

0.19

2 release files

0.18

2 release files

0.17

2 release files

0.16

2 release files

0.15

2 release files

0.14

2 release files

0.13

2 release files

0.12

2 release files

0.11

2 release files

0.10

2 release files

0.9

2 release files

0.8

2 release files

0.7

2 release files

0.6

2 release files

0.5

2 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page