2025/12/05(金) [n年前の日記]
#1 [python] EasyGUIを試用
Python + EasyGUIを使うと、簡単にGUIで入力ダイアログが作れるらしい。開発停止状態という話も見かけたけれど…。まあ、使えるうちは使ってもいいのではないか…。Windows11 x64 25H2 + Python 3.10.10 64bit で動作確認してみた。
インストールは以下。
ググって目にしたサンプルをコピペして動作確認した。
インストールは以下。
pip install easygui
ググって目にしたサンプルをコピペして動作確認した。
"""
EasyGUI sample
Windows11 x64 25H2 + Python 3.10.10 64bit
"""
import easygui
easygui.msgbox("Hello EasyGUI")
name = easygui.enterbox("あなたの名前を入力してください。", default="guest")
easygui.msgbox(f"あなたの名前は {name} です。")
if easygui.ynbox("18歳以上ですか?"):
easygui.msgbox("あなたは18歳以上です。")
else:
easygui.msgbox("あなたは18歳未満です。")
filename = easygui.fileopenbox("ファイルを選択してください")
if filename:
easygui.msgbox(f"選択したファイルは {filename}")
◎ EasyGUI_Qtについて :
EasyGUI_Qt というものもあるらしい。EasyGUI は tkinter で各ダイアログを表示しているが、EasyGUI_Qt は Qt で表示している。
_easygui_qt - PyPI
_aroberge/easygui_qt: Inspired by easygui, designed for PyQt
_EasyGUI_Qt - easygui_qt 0.9.2 documentation
先に書いておくけれど、このモジュールは使わないほうがいい。理由は後述する。一応アレコレ調べたのでメモだけはしておく。
PyQt4 か PyQt5 が必要になるらしい。PyQt5 なら PyPI からインストールできるが、ファイルダイアログの表示ができなかった。PyQt4 なら動くのかもしれないが、PyPI からインストールできないらしい。とりあえず PyQt5 をインストールして試用してみる。
easgui_qt 0.9.3 と、PyQt5-5.15.11, PyQt5-Qt5-5.15.2, PyQt5-sip-12.17.1 がインストールされた。
デモプログラムも入っているらしい。IDLE上で以下を打てば表示される。
EasyGUI_Qt は EasyGUI と各関数名が異なっている。Pythonの命名規則に合わせてみたとのこと。
以下のページで、各関数名の対応が表で示されている。
_Comparison with easygui - easygui_qt 0.9.2 documentation
しかし…。使えそうかどうか試していたら、get_file_names() でファイルダイアログを開こうとするとエラーが出ることに気づいた。
情報を探していたら…。
_error message in get_file_names - Issue #35 - aroberge/easygui_qt
自動翻訳を引用しておく。
PyQt5への対応が十分にできないまま開発停止状態になっていた。使わないほうが良さそう。
しかし、PyQt5 に対応させた版を作成した方も居る模様。
_cs20-easygui - PyPI
_schellenberg/easygui_qt: Inspired by easygui, designed for PyQt
以下でインストールできる。EasyGUI_Qt はアンインストールしておいたほうがいいだろうな…。
この版ならエラーは出ない。また、複数のファイルを選択できる get_file_names() 以外にも、ファイルを1つだけ選択できる get_file_name() も用意されていた。
でもまあ、EasyGUI を使ったほうがいいだろうな…。EasyGUI なら PyQt5 のインストールも不要だし…。
一応サンプルもメモ。
_easygui_qt - PyPI
_aroberge/easygui_qt: Inspired by easygui, designed for PyQt
_EasyGUI_Qt - easygui_qt 0.9.2 documentation
先に書いておくけれど、このモジュールは使わないほうがいい。理由は後述する。一応アレコレ調べたのでメモだけはしておく。
PyQt4 か PyQt5 が必要になるらしい。PyQt5 なら PyPI からインストールできるが、ファイルダイアログの表示ができなかった。PyQt4 なら動くのかもしれないが、PyPI からインストールできないらしい。とりあえず PyQt5 をインストールして試用してみる。
pip install easygui_qt pip install PyQt5
easgui_qt 0.9.3 と、PyQt5-5.15.11, PyQt5-Qt5-5.15.2, PyQt5-sip-12.17.1 がインストールされた。
デモプログラムも入っているらしい。IDLE上で以下を打てば表示される。
from easygui_qt.demos import launcher launcher.main()
EasyGUI_Qt は EasyGUI と各関数名が異なっている。Pythonの命名規則に合わせてみたとのこと。
- msgbox() -> show_message()
- ynbox() -> get_yes_or_no()
- enterbox() -> get_string()
以下のページで、各関数名の対応が表で示されている。
_Comparison with easygui - easygui_qt 0.9.2 documentation
しかし…。使えそうかどうか試していたら、get_file_names() でファイルダイアログを開こうとするとエラーが出ることに気づいた。
情報を探していたら…。
_error message in get_file_names - Issue #35 - aroberge/easygui_qt
自動翻訳を引用しておく。
このプロジェクトは4年近く更新していません。前回作業した時は、 #20 で述べたようにQtバージョン4を使用していました。あなたはQtバージョン5(バージョン4はおそらく廃止されているでしょう)をお使いなので、互換性に問題があっても不思議ではありません。
残念ながら、このプロジェクトに取り組む時間がもうありません。他の方がフォーク(またはプルリクエスト)して、Qtの新しいバージョンと互換性を持たせたい場合に備えて、このプロジェクトはオープンのままにしておきます。
PyQt5への対応が十分にできないまま開発停止状態になっていた。使わないほうが良さそう。
しかし、PyQt5 に対応させた版を作成した方も居る模様。
_cs20-easygui - PyPI
_schellenberg/easygui_qt: Inspired by easygui, designed for PyQt
以下でインストールできる。EasyGUI_Qt はアンインストールしておいたほうがいいだろうな…。
pip uninstall easygui_qt pip install cs20-easygui
Successfully installed cs20-easygui-0.9.5 packaging-25.0 setuptools-80.9.0 sip-6.14.0
この版ならエラーは出ない。また、複数のファイルを選択できる get_file_names() 以外にも、ファイルを1つだけ選択できる get_file_name() も用意されていた。
でもまあ、EasyGUI を使ったほうがいいだろうな…。EasyGUI なら PyQt5 のインストールも不要だし…。
一応サンプルもメモ。
"""
EasyGUI_Qt sample
Windows11 x64 25H2 + Python 3.10.10 64bit
"""
import easygui_qt
easygui_qt.show_message("Hello EasyGUI_Qt", "Title")
name = easygui_qt.get_string("名前を入力してください", "Title", "guest")
easygui_qt.show_message(f"あなたの名前は {name} です。")
if easygui_qt.get_yes_or_no("あなたは18歳以上ですか?"):
easygui_qt.show_message("あなたは18歳以上です。")
else:
easygui_qt.show_message("あなたは18歳未満です。")
filename = easygui_qt.get_file_names()
if filename:
easygui_qt.show_message(f"選択したファイル : \n{filename}")
[ ツッコむ ]
以上、1 日分です。