TkEasyGUI is the easiest library for creating GUIs in Python.
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 lateris required.This project adopts the lenient MIT license. This license will not change in the future. Let's enjoy creating GUI programs.
- Windows / macOS / Linux (Tkinter required)
Install package from PyPI.
pip install TkEasyGUI
# or
python -m pip install TkEasyGUIInstall 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)
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.")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}.")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 provides a variety of dialogs. For example, a color selection dialog, a file selection dialog, and a calendar dialog.
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.")
breakYou 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()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.
Below is a detailed list of classes and methods.
Japanese tutorials:
- TkEasyGUI - Pythonで最も素早くデスクトップアプリを創るライブラリ
- マイナビニュースPython連載116回目 - 合計/整形/コピーのツールを作ろう
- (Book) Pythonでつくるデスクトップアプリ メモ帳からスクレイピング・生成AI利用まで
- 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.
- Using a
forloop andwindow.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
Imageclass 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.




