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.10.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tkeasygui-1.0.10.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.10.tar.gz
Algorithm Hash digest
SHA256 efdac5c3588513c04bc8e4b9c0976ac85d6ff16f387ebc36c000235659e9adbe
MD5 5399beea3c9422b6df268c6e5e8cd885
BLAKE2b-256 9225241c725b4bf95ecf05e4149cc01927506c27a0d1809330e18e89311a0b92

See more details on using hashes here.

File details

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

File metadata

  • Download URL: TkEasyGUI-1.0.10-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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 cf87a6874a16b2857bdab8567723f2085bb00d4d2ca0595faea70059ee518454
MD5 530945b040eef80dc443c81924fb2bb6
BLAKE2b-256 d2c84f0ec18a1a4b059695575211e0ca6813517d289839cdeae2ece20f03b0fa

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