PysimpleGUI開発環境構築

2021-04-03

 PythonでのGUIアプリ開発のためPysimpleGUIを使ってみます。パッケージをインストールする前に必ず仮想環境を構築して、仮想環境内で実行してください。以下のコマンドでパッケージのインストールを行います。

$ pip install PysimpleGUI

動作の確認

 以下のスクリプトファイルを作成します。こちらの公式ドキュメントにいくつかサンプルコードがあります。

#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

 仮想環境を開いて実行をします。VSCodeを使用して実行する場合はこちらを参照してください。

(venv) $ python Sample.py 

 以下の画面が表示されれば成功です。

その他検討したGUI環境について補足

 最初はPyQtの利用を検討しました。以下のコマンドからインストールが出来ます。

$ pip install PyQt5

 Python3.9にまだ対応していないのか、以下のメッセージが表示されてインストールに失敗します。PyQtは商用利用にお金がかかるので、kivyに切り替えを検討しました。

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をインストールしようと思いましたが、こちらもエラーで失敗します。

$ pip install kivy

 とりあえずTkinterを使用してみたところ、標準のライブラリということもありこちらは動作をしました。
他の言語に比べるとまだまだ使い勝手は劣りますが、簡単なアプリであれば十分だと思います。