Skip to content

Repository files navigation

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.

importTkEasyGUIaseg# Show Text dialogeg.print("A joyful heart is good medicine.")

TkEasyGUI

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

importTkEasyGUIaseg# Show Input dialogname=eg.input("What is your name?")
eg.print(f"Hello, {name}.")

TkEasyGUI

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

importTkEasyGUIaseg# Show Form dialogform=eg.popup_get_form(["Name", "Age", "Hobbies"])
ifform:
name=form["Name"]
age=form["Age"]
hobbies=form["Hobbies"]
eg.print(f"name={name}, age={age}, hobby={hobbies}")

TkEasyGUI

More Dialogs

TkEasyGUI provides a variety of dialogs. For example, a color selection dialog, a file selection dialog, and a calendar dialog.

How to use - widgets

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

importTkEasyGUIaseg# define layoutlayout= [
[eg.Text("Hello, World!")],
[eg.Button("OK")]
]
# create a windowwitheg.Window("Hello App", layout) aswindow:
# event loopforevent, valuesinwindow.event_iter():
ifevent=="OK":
eg.print("Thank you.")
break

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

importTkEasyGUIaseg# define layoutlayout= [
[eg.Text("Hello, World!")],
[eg.Button("OK")]
]
# create a windowwindow=eg.Window("Hello App", layout)
# event loopwhileTrue:
event, values=window.read()
ifeventin ["OK", eg.WINDOW_CLOSED]:
eg.popup("Thank you.")
break# close windowwindow.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), a list dialog(eg.popup_listbox), 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

About

The easiest library for creating GUIs in Python

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages