Skip to main content

A GUI toolkit for CMD.

Project description

What is it?

This is a project to build an easy-to-use GUI toolkit using just the windows console. The usage of this module is inspired by Tkinter as its ease of use makes it one of the fastest ways to create GUIs on the fly.

Eventually I aim to mirror the placement methods available in Tkinter such as Pack, Place, and Grid. I would also like to make a version of CMDUI for ANSI code driven terminals in the same easy-to-use style, although in the meantime CMDUI is only runnable in the windows console (or CMD).

Notes for 0.2.0 release

Thanks for checking out the project! CMDUI is still in very early development and this release has added a new pack algorithm. This algorithm has been a tricky one to implement and there are still a lot of bugs that need to be ironed out. Feel free to open an issue if you encounter any. I hope you enjoy. :-)

Installation

CMDUI is now available on pip...

pip install CMDUI

Example Usage - Stop Watch

A simple stopwatch UI. This example demonstrates the use of buttons, labels, and text variables.

import CMDUI as CMD
import threading
import time


def counter():
    btn_txt.set("Stop")

    tt = time.time()
    while running:
        lab_txt.set(f"{time.time()-tt:.2f}")
        time.sleep(0.01)

    btn_txt.set("Reset")


def stopwatch():
    if btn_txt.get() == "Reset":
        btn_txt.set("Start")
        lab_txt.set("")
        return

    global running
    running = not running
    threading.Thread(target=counter).start()


cmdui = CMD.CMDUI()
running = False

lab_txt = CMD.StringVar()
btn_txt = CMD.StringVar()
btn_txt.set("Start")

lab = CMD.Label(cmdui, textvariable=lab_txt)
lab.pack()

but = CMD.Button(cmdui, textvariable=btn_txt, command=stopwatch)
but.pack()

cmdui.mainloop()

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

CMDUI-0.2.0.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

CMDUI-0.2.0-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file CMDUI-0.2.0.tar.gz.

File metadata

  • Download URL: CMDUI-0.2.0.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for CMDUI-0.2.0.tar.gz
Algorithm Hash digest
SHA256 53158e27675cef18c02220d54c29a0cfe5159c9824a4801585cea8768e944553
MD5 7d334d3d15989b2d93804900700f7fc9
BLAKE2b-256 452689918145686f8b57b87aa375d73c8d004c5d0778bee339b24f7dc25c44a7

See more details on using hashes here.

File details

Details for the file CMDUI-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: CMDUI-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for CMDUI-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4861fd3247bb435c169bac66dbe613f1b1837f7dfae07cfe90629bfdec696fc1
MD5 7233a46eeb6300a41571fda60ab5a14d
BLAKE2b-256 34f6e0773b885cb0e47614d89ea6bcd5d195af90603ae1d46e95471909bcf8d3

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