Skip to main content

A wrapper for quickly creating Tkinter code

Project description

RapidTk

a wrapper for Tkinter to create objects faster

rapidTk is a simple and modifiable wrapper for the Tkinter GUI framework.

As Tkinter was one of the first things i learnt while using python i though it would make a good learning excersise into complex tasks and creating packages.

The goal of this project is to move away from the basic boxes of Tkinter and create some very complex objects in a simple and easy to use way while keeping the flexability of Tkinter widgets.

Every object will be a collection of Tkinter widgets with additional logic and features stacked over them.

e.g. autoEntry which provides a basic Entry widget with autocompletion options in a smooth and natrual way, or The WindowManager alongside moveable windows for creating and managing lots of grabbable canvas widgets.

Why not use a better framework like Qt or wx ? Because Tkinter is free for both personal and commercial use. Tkinter is basic which allows high expandability on its widgets, and its simple and easy to learn.

This project does not aim to be the best project in the world or even a concice package. Just a collection of objects that will work with or without eachother and make creating interfaces faster, smoother and much easier.

Feel free to add your own ideas, widgets, expansions and logic to this project.

Examples are in the rapidTk/examples/ directory.

example of basic start. Creates a Frame, a Label, a Button and an Entry, then packs them all.

    root = rapidTk() ##replacment for root = Tk()
    pp = PackProcess() ## creates a process loop to pack objects
    main = pp.add(cFrame(root), side=TOP, fill=BOTH, expand=1) ## creates a basic cFrame (replacemnt Frame) and adds it to the process loop to pack.
    pp.add(cLabel(main, text="This is a basic rapidTk Label."), side=TOP, fill=X) ## creates a basic cLabel and adds it to the process loop to pack.
    pp.add(cButton(main, text="cButton"), side=TOP) ## crates a basic cButton and adds it to the process loop to pack.
    myEntry = pp.add(cEntry(main, value="Some Default Text"), side=TOP, fill=X) ## creates a basic cEntry and adds it to the process loop to pack.
    pp.pack() ## runs the process loop that loops through all added widgets and packs them all with the configured options.
    root.mainloop() ## calls mainloop on the normal Tk() object.

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

rapidTk-0.0.7.tar.gz (50.7 kB view details)

Uploaded Source

Built Distribution

rapidTk-0.0.7-py3-none-any.whl (57.9 kB view details)

Uploaded Python 3

File details

Details for the file rapidTk-0.0.7.tar.gz.

File metadata

  • Download URL: rapidTk-0.0.7.tar.gz
  • Upload date:
  • Size: 50.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for rapidTk-0.0.7.tar.gz
Algorithm Hash digest
SHA256 72e34b9c695dea2109d1ec3e7a9bafdde67cc6f76fa6890bea52b5f7e7882bd1
MD5 6fb3a1f6bba9c315ec2c88923c1c818c
BLAKE2b-256 70257d3babed8a2acb881bc0eb7b62e5196c7f5d32c13795aa6948c09a197b14

See more details on using hashes here.

File details

Details for the file rapidTk-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: rapidTk-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 57.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for rapidTk-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 49a59e2935b04548965ee5772fb2c30cdfbee339706ef25f8c496c0aa4d3db05
MD5 1b5719d196429100d8c1df05f89348a5
BLAKE2b-256 7095031413d2739b220eab4690fe2d07881a4e44b41fa559609aafde6e42d965

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