見出し画像

PySimple GUI でテキスト表示・テキストボックス・ボタン作成

この記事では、Python で GUI を作成できるライブラリ PySimple GUI の基本的な操作として、テキスト表示、テキストボックス作成、ボタン作成について書いていきます。

Python で GUI を作成できるライブラリについては、標準で搭載されている Tkinter や他にもいくつかライブラリがあります。私自身、Tkinter を少し触れたことがあるのですが、少々扱いずらい印象でした。その理由としてはソースコードからGUI画面のイメージをしにくい点があるのではないかと考えています。その点、PySimple GUI はソースコード1行がGUI画面の1行に相当するようコーディングできるので、まだまだ初心者の私にとっては Tikinter よりも PySimple GUI の方が扱いやすいと感じました。

そんな PySimple GUI の使い方を以降で書いていきます。

環境

・windows 10(64bit)
・python 3.8.2(32bit版)
・エディタ Visual Studio Code 1.53.1

ライブラリインストール

コマンドプロンプトを起動して以下のコマンドを入力すればpipでライブラリをインストールすることができます。

py -m pip install pysimplegui

テキスト表示・テキストボックス・ボタン

基本的なウィンドウ作成として、テキスト表示、テキストボックス作成、ボタン作成をします。

ライブラリをインポートし、レイアウト「layout 」にGUI画面1行に入れたい内容をカンマ「,」で区切りながら書いていきます。カンマで区切ったコード1行がGUI画面の1行に相当するので、カンマで改行してコーディングしていくと実際のGUI画面をソースコードからイメージしやすくなると思います。

レイアウトの内容を書いたあとは、ウィンドウオブジェクトの作成、イベントのループ処理を作成します。ここでは、GUI画面の×ボタンが押されれば「break」にて「while」処理から抜けて「window.close( )」が実行されます。

# =================================================
#           ライブラリインポート
# =================================================
import PySimpleGUI as gui

# =================================================
#           ウィンドウレイアウト
# =================================================
layout = [
   [gui.Text('テキストボックスに入力してください')],
   [gui.InputText()],
   [gui.Button('OK')]
]

# =================================================
#           ウィンドウ処理
# =================================================
# ウィンドウオブジェクトの作成
window = gui.Window('PySimpleGUI', layout, size=(400, 200))

# イベントのループ
while True:
   # イベントの読み込み
   event, values = window.read()
   # ウィンドウの×ボタンが押されれば終了
   if event == gui.WIN_CLOSED:
       break

# ウィンドウ終了処理
window.close()

実行結果

上記のコードを実行すると以下の画面が出力されます。

ポイントは「layout 」に記載したコード1行がGUI画面の1行になっている点です。今回はボタンをクリックしたときの処理を入れていないので「OK」ボタンをクリックしても何も起こりませんが、基本的なウィンドウ作成として、テキスト表示、テキストボックス作成、ボタン作成はこのように行うことができます。

画像1

おわりに

個人的には、ちょっとしたGUIを簡易的に作りたい場面で PySimple GUI はとても扱いやすいと思います。もう少し使い方を勉強したら note に書いていきたいと思います。

何かお役に立てたら、サポートしていただけると嬉しいです!モチベーションを高めて、アウトプットしていきます!