PysimpleGUIを使ってGUIを作成する
PysimpleGUIはPythonでGUIを簡単に作成できるライブラリです。GUIを作成するためには、テキストボックスやボタンなどのウィジェットを配置して、それぞれのウィジェットにイベントを割り当てる必要があります。PysimpleGUIを使えば、ウィジェットを配置したりイベントを割り当てたりするのがとても簡単になります。また、PysimpleGUIを使えば、GUIを作成するのに必要なPythonのコードを非常に少ない行数で書くことができます。
GUIを作りたい!Pythonで全部やりたい!
そんな人にはPysimpleGUIが非常にわかりやすくておすすめです。htmlなど不要でPythonですべてが対応することができるので、覚えやすいと思うよ。
今まで、htmlを学んできたのは何だったのか。。。GUIが作れれば、会社でもそれなら使えそう。
PythonでGUIが作れれば、会社などでもバッチファイルなどで動かすことができるから、みんなで使ってもらえるようなものが作れるよ。では、実際にアプリを作ってみましょう。
【記事の対象者】
・GUI作成に興味がある
・GUIの作り方を学んでみたい。
・できることなら、Pythonで作りたい
・初心者でも大丈夫?って思っている人
PySimpleGUIとは
PysimpleGUIはPythonを使ってGUIを簡単に作成できるライブラリです。Pythonの標準ライブラリではないため、別途インストールが必要です。操作も簡単で、Pythonで書かれたコードを実行するだけで、GUIのウィンドウが作成されます。そのウィンドウには、ボタンやテキストボックスなど様々な要素を配置し、操作性の良いGUIを作成することができます。
PySimpleGUIを使ってGUIアプリ
PySimpleGUIを使えば、簡単にGUIアプリケーションを作成することができます。まず、PySimpleGUIをインストールします。その後、GUIアプリケーションを作成するためのPythonのコードを書くことで、GUIアプリケーションを作成できます。コードを書くときには、PySimpleGUIのドキュメントを参考にしてください。そのドキュメントには、GUIアプリケーションを作成するためのコードの例が載っているので、参考にすることができます。最後に、Pythonを実行するとGUIアプリケーションが完成します。PySimpleGUIを使えば、簡単にGUIアプリケーションを作成することができるので、是非試してみてください。
PysimpleGUIのインストール
インストールするには、まずPythonをインストールした後、「pip install pysimplegui」というコマンドをターミナル上で実行する必要があります。pipはPythonのパッケージ管理ツールで、PysimpleGUIをインストールする際に必要となります。インストールが完了すると、Pythonを使ってGUIを作成する準備が整います。
pip install pysimplegui
これで、PySimpleGUIを使ってGUIアプリケーションを作成する準備が整いました。実際にプログラムを作成してみましょう。
プログラムの作成
PysimpleGUIの動作確認
最初に、PySimpleGUIを使用してGUIアプリケーションを作成するためのコードを書きます。コードを書き終えたら、実行してGUIアプリケーションを開始します。GUIアプリケーションの作成には、PySimpleGUIのウィジェットを使用して、画面のレイアウトを定義します。ウィジェットには、テキストボックス、ラベル、ボタンなどがあります。ウィジェットを配置したら、それぞれに関数を追加して、ユーザーが操作したときに実行される処理を定義します。定義した処理を実行し、GUIアプリケーションを完成させます。
例えば下記プログラムを実行してみてください。
import PySimpleGUI as sg
layout = [[sg.Text('Hello World!')],
[sg.Button('OK')]]
window = sg.Window('Window Title', layout)
while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'OK':
break
window.close()
上図のようにsg.Textの項目でHello WorldとGUIに表示されます。また、sg.Buttonと記載することで、簡単にGUIを作成することができます。
PysimpleGUIで画像を表示・更新するGUIアプリの作成
動作確認ができましたので、次に、画像を表示、ランダムに更新するGUIアプリを作成します。
コードは下記になります。layoutの項目で、画面のレイアウトを決定しております。今回は、非常に短く、簡単なコードになっています。ターミナル上から、このtest.pyを起動するとこのようなGUIが表示されます。ボタンを押すと、ランダムにこの画像が更新されるようなアプリになっています。このように、短いコードでGUIアプリを作成することができます。
import PySimpleGUI as sg
from random import randint
#GUIレイアウトを指定↓
layout = [
[sg.Text('画像をクリックしてください')],
[sg.Image('image.png',key='image')],
[sg.Button('クリック',key='btn')]
]
window = sg.Window('Image', layout)
#プログラムの動作内容を設定↓ボタンを押したらどうするなど。
while True:
event, values = window.read()
if event == sg.WIN_CLOSED:
break
if event == 'btn':
source = './img/'+f'{randint(1,5)}.png'
window['image'].update(source)
window.close()
このようにクリックするとランダムで画像が変化するフォルダが作成されました。GUIを作成できると作業の効率化と業務にいかせるので良いと思います。また、何より楽しいので、関数を設定して、ボタンで関数を動作させると非常に楽しく作業できます。