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 later
is 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 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)
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}")
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:
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()
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
for
loop 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
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.