Python tkinter utilities.
Project description
Welcome to TkUtils
tkutils
is a package offering some additional logic and syntactic sugar when using tkinter.
The main goal is to fill some gaps of tkinter, which might make it very annoying to use.
Online version of the help documentation: http://frederic.zinelli.gitlab.io/tkutils/
Features
Additional logic: two-way binding with Binder
The Binder
class is an utility to setup a transparent two-way
binding reactivity between widgets and underlying object properties from the model/logic layer
of the application.
Several advantages come with this:
- Changes of bound properties in the model layer are automatically cascading in the GUI as well.
- The model layer of the application becomes (finally) totally independent from the presentation
layer. This means it becomes very easy to build and test the model layer, without the need to
think about its integration with
tkinter
itself.
Syntactic sugar
GridLayout
A grid layout manager which is abstracting away all the naughty widget.grid(...)
calls and
rows/columns grid configuration. Positioning widgets in the grid and controlling their "spanning"
becomes very easy, without extra typing.
MenuBuilder
A helper to build menus and to abstract away all the technicalities when declaring menu cascades
options and are making their basic tkinter
declarations very tedious and unclear.
With the MenuBuilder
, the actual Menu hierarchy becomes very
obvious: "what you see is what you get".
Event
An utility to build event strings with autocompletion/IDE suggestions support.
KeySym
An utility to get all keysym informations with autocompletion/IDE suggestions (providing string, keycode and keysym_num values).
images
Various factories related to images to:
- Simplify and reduce the syntaxes/typing needed,
- Handle file conversions automatically,
- Register automatically the image object on the host for the user (to avoid garbage collection).
Requirements
- python 3.8+
- Pillow
Installation
- Through PyPi:
pip install tkutils
- Using an archive file (with the appropriate version number):
pip install tkutils.1.0.2.tar.gz
- Cloning the GitLab repository.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.