{"id":22291692,"url":"https://github.com/kujirahand/tkeasygui-python","last_synced_at":"2025-05-15T13:07:57.803Z","repository":{"id":227833414,"uuid":"772490494","full_name":"kujirahand/tkeasygui-python","owner":"kujirahand","description":"The easiest library for creating GUIs in Python","archived":false,"fork":false,"pushed_at":"2025-04-29T02:10:14.000Z","size":5571,"stargazers_count":309,"open_issues_count":24,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-29T03:29:16.265Z","etag":null,"topics":["gui","tkinter","tkinter-gui","tkinter-gui-python"],"latest_commit_sha":null,"homepage":"https://kujirahand.com/TkEasyGUI/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kujirahand.png","metadata":{"files":{"readme":"README-ja.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["kujirahand"]}},"created_at":"2024-03-15T09:46:14.000Z","updated_at":"2025-04-29T02:10:17.000Z","dependencies_parsed_at":"2024-03-29T00:39:12.235Z","dependency_job_id":"2127caa9-6e2a-4434-8f4d-d8b455364100","html_url":"https://github.com/kujirahand/tkeasygui-python","commit_stats":null,"previous_names":["kujirahand/tkeasygui-python"],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kujirahand%2Ftkeasygui-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kujirahand%2Ftkeasygui-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kujirahand%2Ftkeasygui-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kujirahand%2Ftkeasygui-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kujirahand","download_url":"https://codeload.github.com/kujirahand/tkeasygui-python/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254346624,"owners_count":22055808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gui","tkinter","tkinter-gui","tkinter-gui-python"],"created_at":"2024-12-03T17:17:59.106Z","updated_at":"2025-05-15T13:07:52.786Z","avatar_url":"https://github.com/kujirahand.png","language":"Python","readme":"# TkEasyGUI\n\n`TkEasyGUI`は、**Pythonで最も簡単にGUIアプリが開発できるライブラリ**です。`Tkinter`のような従来のUIライブラリが持つ複雑さを解消し、シンプルな使い勝手を実現しました。手軽に使える豊富なダイアログを用意しています。本ライブラリは、簡単にGUIを構築できるライブラリ`PySimpleGUI`の概念を引き継ぎつつ、独自の機能を追加しています。\n\n- [👉English](https://github.com/kujirahand/tkeasygui-python/blob/main/README.md)\n\n## TkEasyGUIの特徴:\n\n- `TkEasyGUI`は、GUIアプリケーションを簡単かつシンプルに作成することができるPythonライブラリです。\n- Pythonの標準UIライブラリ`Tkinter`は、学習障壁が高いと考えられていますが、このライブラリを使用すると、GUIアプリケーションを直感的に作成できます。\n- イベントモデルや基本部品では、よく知られたGUIライブラリ`PySimpleGUI`と互換性があります。\n- 型ヒントに対応しているので、コード補完でプロパティを選択できます。(本パッケージの利用には、`Python 3.9以降`が必要です。)\n- ライセンスには比較的緩い`MITライセンス`を採用しています。将来このライセンスを変えることはありません。\n\n## 対象プラットフォーム\n\n- Windows / macOS / Linux (Tkinterが動く環境)\n\n## インストール:\n\n[PyPI](https://pypi.org/project/TkEasyGUI/)からインストールできます。\n\n```sh\npython -m pip install TkEasyGUI\n```\n\n[GitHubリポジトリ](https://github.com/kujirahand/tkeasygui-python)からインストールできます。\n\n```sh\npython -m pip install git+https://github.com/kujirahand/tkeasygui-python\n```\n\n- (メモ) v0.2.24未満からのアップデートに失敗する場合は[こちら](docs/installation_trouble.md)を確認してください。\n\n## 簡単な使い方 - ポップアップダイアログを使う\n\nTkEasyGUIの使い方は簡単です。もし、ダイアログにメッセージを表示したい場合、次のように記述します。\n\n```py\nimport TkEasyGUI as eg\neg.print(\"A joyful heart is good medicine.\")\n```\n\n\u003cimg src=\"https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/sample1.png\" width=\"300\" alt=\"TkEasyGUI\"\u003e\n\n\n入力ボックス付きのダイアログで尋ねることもできます。次のコードは、名前を尋ねて、続くダイアログに名前を表示します。\n\n```py\nimport TkEasyGUI as eg\nname = eg.input(\"What is your name?\")\neg.print(f\"Hello, {name}.\")\n```\n\n\u003cimg src=\"https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/sample2.png\" width=\"300\" alt=\"TkEasyGUI\"\u003e\n\nさらに、複数入力が可能なフォームダイアログも手軽に表示できます。\n\n```py\nimport TkEasyGUI as eg\n# フォームダイアログを表示\nform = eg.popup_get_form([\"名前\", \"年齢\", \"趣味\"], title=\"プロフィールの入力\")\nif form:\n    name = form[\"名前\"]\n    age = form[\"年齢\"]\n    hobbies = form[\"趣味\"]\n    eg.print(f\"name={name}, age={age}, hobby={hobbies}\")\n```\n\n\u003cimg src=\"https://github.com/kujirahand/tkeasygui-python/raw/main/docs/image/sample3.png\" width=\"300\" alt=\"TkEasyGUI\"\u003e\n\n### バラエティ豊かなダイアログを提供\n\n`TkEasyGUI` はさまざまなダイアログを提供します。\nたとえば、色選択ダイアログ、ファイル選択ダイアログ、カレンダーダイアログなどです。\n\n- [Docs \u003e Dialogs](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/dialogs-py.md)\n\n\n## 簡単な使い方 - カスタムウィンドウを定義して使う\n\nラベルとボタンのみを持つシンプルなウィンドウを作成するには、以下のように記述します。`with`文を使うことで、イベントループを抜けると自動的にウィンドウが閉じるように指定できます。\n\n```py\nimport TkEasyGUI as eg\n# 画面レイアウトの定義\nlayout = [\n    [eg.Text(\"Hello, World!\")],\n    [eg.Button(\"OK\")]\n]\n# ウィンドウを表示する\nwith eg.Window(\"Hello App\", layout) as window:\n    # イベントループを処理する\n    for event, values in window.event_iter():\n        if event == \"OK\":\n            eg.print(\"Thank you.\")\n            break # ループを抜ける\n```\n\n有名GUIライブラリの`PySimpleGUI`と同じイベントモデルの使い勝手で記述できます。（多くのGUI部品でPySimpleGUIと互換性を持たせています。）\n\n```py\nimport TkEasyGUI as eg\n# define layout\nlayout = [[eg.Text(\"Hello, World!\")],\n          [eg.Button(\"Exit\")]]\n# create a window\nwindow = eg.Window(\"test\", layout)\n# event loop\nwhile True:\n    event, values = window.read()\n    if event in [\"Exit\", eg.WINDOW_CLOSED]:\n        eg.popup(\"Thank you.\")\n        break\n# close window\nwindow.close()\n```\n\n- [Docs \u003e どんなElementが使えますか？](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/README.md#tkeasygui-elements-list)\n\n## チュートリアル\n\n- [TkEasyGUI - Pythonで最も素早くデスクトップアプリを創るライブラリ](https://note.com/kujirahand/n/n33a2df3aa3e5)\n- [マイナビニュースPython連載116回目 - 合計/整形/コピーのツールを作ろう](https://news.mynavi.jp/techplus/article/zeropython-116/)\n- [(書籍) Pythonでつくるデスクトップアプリ メモ帳からスクレイピング・生成AI利用まで](https://amzn.to/45R2NSH)\n- [(特集記事) 日経ソフトウエア2025年5月号の特集記事 - TkEasyGUIを使ってみよう](https://amzn.to/4j1lj0c)\n\n公式ではないですが、役立つ技術記事があります！\n\n- [TkEasyGUI - 目的別ダイアログ完全ガイド](https://note.com/sirodon_256/n/n4138ebf4877f)\n- [TkEasyGUIライブラリの基本とサンプルコード解説](https://note.com/sirodon_256/n/na73d3fdac68d)\n\n## サンプル\n\n簡単な使い方を示すサンプルを揃えました。確認してみてください。\n\n- [samples](https://github.com/kujirahand/tkeasygui-python/tree/main/tests).\n\n`tests/file_viewer.py`を実行することで、すべてのサンプルを手軽に起動できます。\n\n## ドキュメント\n\nライブラリの詳細なクラスやメソッドの一覧です。\n\n- [マニュアル](https://github.com/kujirahand/tkeasygui-python/tree/main/docs)\n  - [ダイアログの一覧](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/dialogs-py.md)\n  - [カスタム要素の一覧](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/widgets-py.md)\n  - [便利なユーティリティ関数群](https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/utils-py.md)\n\n## PySimpleGUIとの互換性について\n\n- 基本機能を使う場合、PySimpleGUIと互換性があります。PySimpleGUIと同じイベントモデルでプログラムを記述できます。\n- 基本的なGUI部品の名前も同じにしてありますが、いくつかのプロパティ名は異なります。\n- TkEasyGUIは完全にゼロから実装しなおしており、MITライセンスを採用しています。\n- ただし、PySimpleGUIと完全な互換性は考えていません。\n\n### TkEasyGUI独自の機能\n\n- for文と `window.event_iter()` を使って気軽にイベント処理が可能\n- 任意のボタンを持つダイアログ(`eg.popup_buttons`)や色選択ダイアログ(`eg.popup_color`)、複数項目を入力するダイアログ(`eg.popup_get_form`)など、独自のポップアップダイアログを用意\n- ImageはPNGだけでなくJPEGも読み込み可能\n- 便利なイベントフックや一括イベント登録機能 - [docs/custom_events](docs/custom_events.md)\n- テキストボックス(Muliline/Input)に便利なCopy/Paste/Cutなどのメソッドを追加\n\n## リンク\n\n- [pypi.org \u003e TkEasyGUI](https://pypi.org/project/tkeasygui/)\n- [GitHub \u003e TkEasyGUI](https://github.com/kujirahand/tkeasygui-python/)\n- [Discord \u003e TkEasyGUI](https://discord.gg/NX8WEQd42S)\n\n","funding_links":["https://github.com/sponsors/kujirahand"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkujirahand%2Ftkeasygui-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkujirahand%2Ftkeasygui-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkujirahand%2Ftkeasygui-python/lists"}