TkEasyGUI is simple GUI Library for Python3 with Tkinter
Project description
TkEasyGUI
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.
Platform
- Windows / macOS / Linux (Tkinter required)
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
# Displays the message in a popup 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
name = eg.input("What is your name?")
eg.print(f"Hello, {name}.")
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:
- TkEasyGUI - Pythonで最も素早くデスクトップアプリを創るライブラリ
- マイナビニュースPython連載116回目 - 合計/整形/コピーのツールを作ろう
- (Book) Pythonでつくるデスクトップアプリ メモ帳からスクレイピング・生成AI利用まで
About the relationship with PySimpleGUI
- When utilizing basic features, it is compatible with PySimpleGUI. You can write programs using the same event model as PySimpleGUI.
- The names of basic GUI components are also kept the same. However, while some property names differ, many unique features have been implemented.
- This project was developed with PySimpleGUI in mind, but has been implemented entirely from scratch. There are no licensing issues.
- We are not considering full compatibility with PySimpleGUI.
TkEasyGUI features:
- Using a
for
loop andwindow.event_iter()
enables straightforward event processing. - Custom popup dialogs, such as a color selection dialog (
eg.popup_color
), 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for TkEasyGUI-0.2.76-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 982ccba3a2e45bfe76039c0a74928bbc8a4398f821e9dda8b72905d5a1cfe0b1 |
|
MD5 | d9d7c9e07c0df936f9a23071a5e32aea |
|
BLAKE2b-256 | 8be980c1ec95036ca05be66d1d1e0dd2de23f239dc732dff039d4c63a8a858fa |