参考
0. 仮想環境準備(venv)
グローバル環境を汚したくなかったのでvenv
で仮想環境を作ってそこで作業することにしました。
仮想環境起動
$ python -m venv myvenv
$ cd myvenv/
$ source bin/activate
(myvenv)$ pip list
pip (7.1.2)
setuptools (18.2)
1. すぐに始める
1-1. PySimpleGUIをpip
でインストールする
インストール
(myvenv)$ pip install pysimplegui
(myvenv)$ pip list
Package Version
----------- -------
pip 20.2.2
PySimpleGUI 4.29.0
setuptools 18.2
1-2. サンプルコード
sample.py
import PySimpleGUI as sg
sg.theme('DarkAmber') # テーマカラー
# ウィンドウ内のレイアウト
layout = [ [sg.Text('Some text on Row 1')],
[sg.Text('Enter something on Row 2'), sg.InputText()],
[sg.Button('Ok'), sg.Button('Cancel')] ]
# ウィンドウを生成する
window = sg.Window('Window Title', layout)
# "events"を処理するためのイベントループとインプットの"valuesを取得する処理
while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Cancel': # if user closes window or clicks cancel
break
print('You entered ', values[0])
window.close()
1-3. 実行する
実行
(myvenv)$ python sample.py
起動したウィンドウ
文字入力
ターミナルに入力した文字が出力されます。
ターミナル出力
You entered Hello, World!
まとめ
ブラウザを使うWebアプリと違って"イベントループ"を意識してコーディングできるので良いなと感じました。