PysimpleGUI開発環境構築
概要
目的
PythonでのGUIアプリ開発のために、PysimpleGUIの環境構築を行います。
セットアップ
パッケージのインストール
以下のコマンドでパッケージのインストールを行います。
$ pip install PysimpleGUI
パッケージをインストールする前に必ずvenvで仮想環境を構築して、仮想環境内で実行してください。
動作確認
以下のスクリプトファイルを作成します。こちらの公式ドキュメントにもいくつかサンプルコードがあります。
#Sample.py
import PySimpleGUI as sg # パート 1 - インポート
# ウィンドウの内容を定義する
layout = [ [sg.Text("お名前は何ですか?")], # パート 2 - レイアウト
[sg.Input()],
[sg.Button('はい')] ]
# ウィンドウを作成する
window = sg.Window('ウィンドウタイトル', layout) # パート 3- ウィンドウ定義
# ウィンドウを表示し、対話する
event, values = window.read() # パート 4- イベントループまたは Window.read 呼び出し
# 収集された情報で何かをする
print('ハロー ', values[0], "! PySimpleGUIを試してくれてありがとう")
# 画面から削除して終了
window.close() #パート 5 - ウィンドウを閉じる#Sample.py
仮想環境を開いて実行をします。
(venv) $ python Sample.py
以下の画面が表示されれば成功です。

VSCodeを使用して実行する場合は「Visual Studio Codeのデバックでvenvで作成した仮想環境を利用する方法」を参照してください。
その他
PythonのGUI開発環境について
PySimpleGUIを使用する前に他のGUIツールについても検討を行いました。
PyQt
最初はPyQtの利用を検討しました。以下のコマンドからインストールが出来ます。
$ pip install PyQt5
Python3.9にまだ対応していないのか、以下のメッセージが表示されてインストールに失敗しました。
ERROR: PyQt5 from https://files.pythonhosted.org/packages/7c/5b/e760ec4f868cb77cee45b4554bf15d3fe6972176e89c4e3faac941213694/PyQt5-5.14.0.tar.gz#sha256=0145a6b7de15756366decb736c349a0cb510d706c83fda5b8cd9e0557bc1da72 has a pyproject.toml file that does not comply with PEP 518: 'build-system.requires' contains an invalid requirement: 'sip >=5.0.1 <6'
kivy
PyQtは商用利用にお金がかかるので、kivyに切り替えを検討しました。しかしこちらもエラーでインストールに失敗します。
$ pip install kivy
Tkinter
最後にTkinterを使用してみたところ、標準のライブラリということもありこちらは動作をしました。
他の言語に比べるとまだまだ使い勝手は劣りますが、簡単なアプリであれば十分だと思います。
まとめ
PysimpleGUIの環境構築について説明を行いました。色々試してみましたが、Pythonはディスクトップアプリの開発には向いていません。デスクトップアプリケーションを作成するなら、C++, C#, JAVAあたりがまだまだ主流になるかと思います。