TkEasyGUI


NameTkEasyGUI JSON
Version 1.0.17 PyPI version JSON
download
home_pageNone
SummaryTkEasyGUI is simple GUI Library for Python3 with Tkinter
upload_time2024-12-22 03:02:52
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT License Copyright (c) 2024 kujirahand Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords gui tkinter tkeasygui
VCS
bugtrack_url
requirements Pillow pyperclip ruff mypy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TkEasyGUI

`TkEasyGUI` is the easiest library for creating GUIs in Python.

<img src="https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/logo-button.jpg" width="180" alt="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.

- [👉日本語](https://github.com/kujirahand/tkeasygui-python/blob/main/README-ja.md) / [👉中文](https://github.com/kujirahand/tkeasygui-python/blob/main/README-zh.md) / [👉한국어](https://github.com/kujirahand/tkeasygui-python/blob/main/README-ko.md)


## Platform

- Windows / macOS / Linux (Tkinter required)

<img src="https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/tkeasygui-shot640.jpg" width="300" alt="TkEasyGUI">

## Install

Install package from [PyPI](https://pypi.org/project/TkEasyGUI/).

```sh
pip install TkEasyGUI
# or
python -m pip install TkEasyGUI
```

Install package from [GitHub Repository](https://github.com/kujirahand/tkeasygui-python).

```sh
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](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/installation_trouble.md))

## How to use - popup dialogs

Using TkEasyGUI is simple. If you only want to display a dialog, it requires just two lines of code.

```py
import TkEasyGUI as eg
# Show Text dialog
eg.print("A joyful heart is good medicine.")
```

<img src="https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/sample1.png" width="300" alt="TkEasyGUI">


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

```py
import TkEasyGUI as eg
# Show Input dialog
name = eg.input("What is your name?")
eg.print(f"Hello, {name}.")
```

<img src="https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/sample2.png" width="300" alt="TkEasyGUI">

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

```py
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}")
```

<img src="https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/sample3.png" width="300" alt="TkEasyGUI">

### More Dialogs

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

- [Docs > Dialogs](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/dialogs-py.md)

### How to use - widgets

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

```py
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.

```py
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()
```

- [Docs > What kind of elements can be used?](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/README.md#tkeasygui-elements-list)

## Samples

We have prepared a selection of samples to demonstrate simple usage. Please check them out.

- [samples](https://github.com/kujirahand/tkeasygui-python/tree/main/tests).

Running `tests/file_viewer.py` allows all samples to be easily launched.

## Documents

Below is a detailed list of classes and methods.

- [docs](https://github.com/kujirahand/tkeasygui-python/tree/main/docs)
  - [Dialogs](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/dialogs-py.md)
  - [Elements](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/widgets-py.md)
  - [Utilities](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/utils-py.md)

## Tutorial

Japanese tutorials:

- [TkEasyGUI - Pythonで最も素早くデスクトップアプリを創るライブラリ](https://note.com/kujirahand/n/n33a2df3aa3e5)
- [マイナビニュースPython連載116回目 - 合計/整形/コピーのツールを作ろう](https://news.mynavi.jp/techplus/article/zeropython-116/)
- [(Book) Pythonでつくるデスクトップアプリ メモ帳からスクレイピング・生成AI利用まで](https://amzn.to/45R2NSH)

## 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](docs/custom_events.md).
- Methods such as Copy, Paste, and Cut are added to text boxes (Multiline/Input).
- The system's default color scheme is utilized.

## Link

- [pypi.org > TkEasyGUI](https://pypi.org/project/tkeasygui/)
- [GitHub > TkEasyGUI](https://github.com/kujirahand/tkeasygui-python/)
- [Discord > TkEasyGUI](https://discord.gg/NX8WEQd42S)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "TkEasyGUI",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "kujirahand <web@kujirahand.com>",
    "keywords": "GUI, tkinter, TkEasyGUI",
    "author": null,
    "author_email": "kujirahand <web@kujirahand.com>",
    "download_url": "https://files.pythonhosted.org/packages/16/1b/f11d15e4e1cb1df3bd4dc624e3196e73e4df1aca881b2605ccd54ffe06bf/tkeasygui-1.0.17.tar.gz",
    "platform": null,
    "description": "# TkEasyGUI\n\n`TkEasyGUI` is the easiest library for creating GUIs in Python.\n\n<img src=\"https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/logo-button.jpg\" width=\"180\" alt=\"TkEasyGUI Logo\">\n\n- 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.\n- In the event model, it is compatible with the well-known GUI library `PySimpleGUI`.\n- This package supports type hints, allowing property selection via code completion. `Python 3.9 or later` is required.\n- This project adopts the lenient MIT license. This license will not change in the future. Let's enjoy creating GUI programs.\n\n- [\ud83d\udc49\u65e5\u672c\u8a9e](https://github.com/kujirahand/tkeasygui-python/blob/main/README-ja.md) / [\ud83d\udc49\u4e2d\u6587](https://github.com/kujirahand/tkeasygui-python/blob/main/README-zh.md) / [\ud83d\udc49\ud55c\uad6d\uc5b4](https://github.com/kujirahand/tkeasygui-python/blob/main/README-ko.md)\n\n\n## Platform\n\n- Windows / macOS / Linux (Tkinter required)\n\n<img src=\"https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/tkeasygui-shot640.jpg\" width=\"300\" alt=\"TkEasyGUI\">\n\n## Install\n\nInstall package from [PyPI](https://pypi.org/project/TkEasyGUI/).\n\n```sh\npip install TkEasyGUI\n# or\npython -m pip install TkEasyGUI\n```\n\nInstall package from [GitHub Repository](https://github.com/kujirahand/tkeasygui-python).\n\n```sh\npython -m pip install git+https://github.com/kujirahand/tkeasygui-python\n```\n\n- (memo) Updating from older versions (less than 0.2.24) will fail. ([See the solution](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/installation_trouble.md))\n\n## How to use - popup dialogs\n\nUsing TkEasyGUI is simple. If you only want to display a dialog, it requires just two lines of code.\n\n```py\nimport TkEasyGUI as eg\n# Show Text dialog\neg.print(\"A joyful heart is good medicine.\")\n```\n\n<img src=\"https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/sample1.png\" width=\"300\" alt=\"TkEasyGUI\">\n\n\nAsk the user for their name and display that name in the window.\n\n```py\nimport TkEasyGUI as eg\n# Show Input dialog\nname = eg.input(\"What is your name?\")\neg.print(f\"Hello, {name}.\")\n```\n\n<img src=\"https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/sample2.png\" width=\"300\" alt=\"TkEasyGUI\">\n\nFurthermore, a dialog is available that allows specifying multiple input fields.\n\n```py\nimport TkEasyGUI as eg\n# Show Form dialog\nform = eg.popup_get_form([\"Name\", \"Age\", \"Hobbies\"])\nif form:\n    name = form[\"Name\"]\n    age = form[\"Age\"]\n    hobbies = form[\"Hobbies\"]\n    eg.print(f\"name={name}, age={age}, hobby={hobbies}\")\n```\n\n<img src=\"https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/sample3.png\" width=\"300\" alt=\"TkEasyGUI\">\n\n### More Dialogs\n\n`TkEasyGUI` provides a variety of dialogs. For example, a color selection dialog, a file selection dialog, and a calendar dialog.\n\n- [Docs > Dialogs](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/dialogs-py.md)\n\n### How to use - widgets\n\nTo create a simple window with only labels and buttons, you would write as follows:\n\n```py\nimport TkEasyGUI as eg\n# define layout\nlayout = [\n    [eg.Text(\"Hello, World!\")],\n    [eg.Button(\"OK\")]\n]\n# create a window\nwith eg.Window(\"Hello App\", layout) as window:\n    # event loop\n    for event, values in window.event_iter():\n        if event == \"OK\":\n            eg.print(\"Thank you.\")\n            break\n```\n\n\nYou can describe it using an event model similar to the famous GUI library, PySimpleGUI.\n\n```py\nimport TkEasyGUI as eg\n\n# define layout\nlayout = [\n    [eg.Text(\"Hello, World!\")],\n    [eg.Button(\"OK\")]\n]\n# create a window\nwindow = eg.Window(\"Hello App\", layout)\n# event loop\nwhile True:\n    event, values = window.read()\n    if event in [\"OK\", eg.WINDOW_CLOSED]:\n        eg.popup(\"Thank you.\")\n        break\n# close window\nwindow.close()\n```\n\n- [Docs > What kind of elements can be used?](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/README.md#tkeasygui-elements-list)\n\n## Samples\n\nWe have prepared a selection of samples to demonstrate simple usage. Please check them out.\n\n- [samples](https://github.com/kujirahand/tkeasygui-python/tree/main/tests).\n\nRunning `tests/file_viewer.py` allows all samples to be easily launched.\n\n## Documents\n\nBelow is a detailed list of classes and methods.\n\n- [docs](https://github.com/kujirahand/tkeasygui-python/tree/main/docs)\n  - [Dialogs](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/dialogs-py.md)\n  - [Elements](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/widgets-py.md)\n  - [Utilities](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/utils-py.md)\n\n## Tutorial\n\nJapanese tutorials:\n\n- [TkEasyGUI - Python\u3067\u6700\u3082\u7d20\u65e9\u304f\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30a2\u30d7\u30ea\u3092\u5275\u308b\u30e9\u30a4\u30d6\u30e9\u30ea](https://note.com/kujirahand/n/n33a2df3aa3e5)\n- [\u30de\u30a4\u30ca\u30d3\u30cb\u30e5\u30fc\u30b9Python\u9023\u8f09116\u56de\u76ee - \u5408\u8a08/\u6574\u5f62/\u30b3\u30d4\u30fc\u306e\u30c4\u30fc\u30eb\u3092\u4f5c\u308d\u3046](https://news.mynavi.jp/techplus/article/zeropython-116/)\n- [(Book) Python\u3067\u3064\u304f\u308b\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30a2\u30d7\u30ea \u30e1\u30e2\u5e33\u304b\u3089\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u30fb\u751f\u6210AI\u5229\u7528\u307e\u3067](https://amzn.to/45R2NSH)\n\n## Compatibility with PySimpleGUI\n\n- When using basic functionalities, it is compatible with PySimpleGUI. Programs can be written using the same event-driven model as PySimpleGUI.  \n- The names of basic GUI components are kept the same, but some property names differ.  \n- TkEasyGUI has been completely reimplemented from scratch and is licensed under the MIT License.\n- However, full compatibility with PySimpleGUI is not intended.\n\n### TkEasyGUI features:\n\n- Using a `for` loop and `window.event_iter()` enables straightforward event processing.\n- 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.\n- The `Image` class supports not only PNG but also JPEG formats.\n- Convenient event hooks and features for bulk event registration are provided - [docs/custom_events](docs/custom_events.md).\n- Methods such as Copy, Paste, and Cut are added to text boxes (Multiline/Input).\n- The system's default color scheme is utilized.\n\n## Link\n\n- [pypi.org > TkEasyGUI](https://pypi.org/project/tkeasygui/)\n- [GitHub > TkEasyGUI](https://github.com/kujirahand/tkeasygui-python/)\n- [Discord > TkEasyGUI](https://discord.gg/NX8WEQd42S)\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 kujirahand  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "TkEasyGUI is simple GUI Library for Python3 with Tkinter",
    "version": "1.0.17",
    "project_urls": {
        "Changelog": "https://github.com/kujirahand/tkeasygui-python/releases",
        "Documentation": "https://github.com/kujirahand/tkeasygui-python/blob/main/README.md",
        "Homepage": "https://github.com/kujirahand/tkeasygui-python",
        "Issues": "https://github.com/kujirahand/tkeasygui-python/issues",
        "Repository": "https://github.com/kujirahand/tkeasygui-python/"
    },
    "split_keywords": [
        "gui",
        " tkinter",
        " tkeasygui"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd65d09a561d3e8a1253c77ecd29189454e9629d92a5fdaa9a2fd09d21a7eb60",
                "md5": "8b6fddc3584e0045d7620aa2c1ff8269",
                "sha256": "b853997e011c29232fd877d7f2b6c43118e3f6452cd2d19acfe76597f719820c"
            },
            "downloads": -1,
            "filename": "TkEasyGUI-1.0.17-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8b6fddc3584e0045d7620aa2c1ff8269",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 51708,
            "upload_time": "2024-12-22T03:02:49",
            "upload_time_iso_8601": "2024-12-22T03:02:49.243483Z",
            "url": "https://files.pythonhosted.org/packages/fd/65/d09a561d3e8a1253c77ecd29189454e9629d92a5fdaa9a2fd09d21a7eb60/TkEasyGUI-1.0.17-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "161bf11d15e4e1cb1df3bd4dc624e3196e73e4df1aca881b2605ccd54ffe06bf",
                "md5": "17ad4870d777667063b182e863453aba",
                "sha256": "cf26c48b64088a234c976a0e944ad31116c8dc4ba24653b04dd25d96be94aa86"
            },
            "downloads": -1,
            "filename": "tkeasygui-1.0.17.tar.gz",
            "has_sig": false,
            "md5_digest": "17ad4870d777667063b182e863453aba",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 52754,
            "upload_time": "2024-12-22T03:02:52",
            "upload_time_iso_8601": "2024-12-22T03:02:52.440214Z",
            "url": "https://files.pythonhosted.org/packages/16/1b/f11d15e4e1cb1df3bd4dc624e3196e73e4df1aca881b2605ccd54ffe06bf/tkeasygui-1.0.17.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-22 03:02:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kujirahand",
    "github_project": "tkeasygui-python",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "Pillow",
            "specs": []
        },
        {
            "name": "pyperclip",
            "specs": []
        },
        {
            "name": "ruff",
            "specs": []
        },
        {
            "name": "mypy",
            "specs": []
        }
    ],
    "lcname": "tkeasygui"
}
        
Elapsed time: 0.92446s