Skip to main content

TkEasyGUI is simple GUI Library for Python3 with Tkinter

Project description

TkEasyGUI

TkEasyGUI is the easiest library for creating GUIs in Python.

TkEasyGUI Logo
  • Python's standard UI library Tkinter, is often considered to have a high barrier to entry and to be difficult to use. By using this library, you can create GUI applications easily and intuitively.

  • In the event model, it is compatible with the well-known GUI library PySimpleGUI.

  • This package supports type hints, allowing property selection via code completion. Python 3.9 or later is required.

  • This project adopts the lenient MIT license. This license will not change in the future. Let's enjoy creating GUI programs.

  • 👉日本語 / 👉中文

Platform

  • Windows / macOS / Linux (Tkinter required)
TkEasyGUI

Install

Install package from PyPI.

pip install TkEasyGUI
# or
python -m pip install TkEasyGUI

Install package from GitHub Repository.

python -m pip install git+https://github.com/kujirahand/tkeasygui-python
  • (memo) Updating from older versions (less than 0.2.24) will fail. (See the solution)

How to use - popup dialogs

Using TkEasyGUI is simple. If you only want to display a dialog, it requires just two lines of code.

import TkEasyGUI as eg
# Show Text dialog
eg.print("A joyful heart is good medicine.")

Ask the user for their name and display that name in the window.

import TkEasyGUI as eg
# Show Input dialog
name = eg.input("What is your name?")
eg.print(f"Hello, {name}.")

Furthermore, a dialog is available that allows specifying multiple input fields.

import TkEasyGUI as eg
# Show Form dialog
form = eg.popup_get_form(["Name", "Age", "Hobbies"])
if form:
    name = form["Name"]
    age = form["Age"]
    hobbies = form["Hobbies"]
    eg.print(f"name={name}, age={age}, hobby={hobbies}")

How to use - widgets

To create a simple window with only labels and buttons, you would write as follows:

import TkEasyGUI as eg
# define layout
layout = [
    [eg.Text("Hello, World!")],
    [eg.Button("OK")]
]
# create a window
with eg.Window("Hello App", layout) as window:
    # event loop
    for event, values in window.event_iter():
        if event == "OK":
            eg.print("Thank you.")
            break

You can describe it using an event model similar to the famous GUI library, PySimpleGUI.

import TkEasyGUI as eg

# define layout
layout = [[eg.Text("Hello, World!")], [eg.Button("OK")]]
# create a window
window = eg.Window("Hello App", layout)
# event loop
while True:
    event, values = window.read()
    if event in ["OK", eg.WINDOW_CLOSED]:
        eg.popup("Thank you.")
        break
# close window
window.close()

Samples

We have prepared a selection of samples to demonstrate simple usage. Please check them out.

Running tests/file_viewer.py allows all samples to be easily launched.

Documents

Below is a detailed list of classes and methods.

Tutorial

Japanese tutorials:

Compatibility with PySimpleGUI

  • When using basic functionalities, it is compatible with PySimpleGUI. Programs can be written using the same event-driven model as PySimpleGUI.
  • The names of basic GUI components are kept the same, but some property names differ.
  • TkEasyGUI has been completely reimplemented from scratch and is licensed under the MIT License.
  • However, full compatibility with PySimpleGUI is not intended.

TkEasyGUI features:

  • Using a for loop and window.event_iter() enables straightforward event processing.
  • Custom popup dialogs, such as a color selection dialog (eg.popup_color), form dialog (eg.popup_get_form), are available.
  • The Image class supports not only PNG but also JPEG formats.
  • Convenient event hooks and features for bulk event registration are provided - docs/custom_events.
  • Methods such as Copy, Paste, and Cut are added to text boxes (Multiline/Input).
  • The system's default color scheme is utilized.

Link

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

tkeasygui-1.0.9.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

TkEasyGUI-1.0.9-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

File details

Details for the file tkeasygui-1.0.9.tar.gz.

File metadata

  • Download URL: tkeasygui-1.0.9.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.7

File hashes

Hashes for tkeasygui-1.0.9.tar.gz
Algorithm Hash digest
SHA256 572da2d220179fff0c8a01c37098742333588da3548a3c74df1dc192ad3c9ff2
MD5 2d0e6dcf4affb3c340869ebf827bb9a8
BLAKE2b-256 8fdc4e34b8e3910b6627186d2b6c083868ba86ed0d157484033374a1c6e50e45

See more details on using hashes here.

File details

Details for the file TkEasyGUI-1.0.9-py3-none-any.whl.

File metadata

  • Download URL: TkEasyGUI-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 44.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.7

File hashes

Hashes for TkEasyGUI-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 70886674b758e80f1f5e980c85278f18dd917e82e38bbdf30813bdf7b5b12980
MD5 7db6f1c4d707ed48e7b11729b68c5178
BLAKE2b-256 05521b46f42d4433529fa9bf061fb7af4fdb53cb9bf96fe6028dac155de209ec

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