この記事ではPythonのPySimpleGUIを使って基本的なGUIを作る方法についてご紹介していきます。
ソースコード
gist7a7dcaeace2fece74708090499432ea7
上記のプログラムは、環境さえ整っていればコピペで動くので、実際にどうなっているか気になった方はコピペして実行してみてください。
ボタンを押すと、ウィンドウを消去するとプログラムが終了するという単純なプログラムです。
実行結果
掲載したプログラムを実行すると、上図のような結果になる。
各項目の説明
ソースコード及び実行結果はご紹介したので、ここからは各項目の説明を行っていきます。
ファイル選択
・sg.FileBrowse()
最初にファイル選択がこのsg.FileBrowse()で可能です。
ただし、このsg.FileBrowse()はファイル選択であってフォルダ選択ではありません。
そのため、フォルダ選択をしたい場合は、他のモジュールを利用する必要があります。
文字入力
・sg.InputText("ここに文字入力",key ="-TEXT-")
次に文字入力のGUIとなります。
前節のファイル選択の前にもありましたが、InputText()の中に文字列があると、それが最初から入力されている状態になります。
そのため、何も入力されないと困る場合は設定しておいてください。
チェックボックス
・sg.Checkbox("チェックボックス",key="CHECK-BOX-")
次にsg.Checkbox()でチェックボックスを作成することが可能です。
引数として文字を入れると、チェックボックスの横に文字を入れることが可能であるため、何のチェックスボックスなのかを示す時に使います。
ボタン
・sg.Button("ボタン", key="-SAMPLE-BUTTON-")
次にGUIの基本になるであろうボタンの追加です。
同じようなGUIとして【sg.Submit()】や【sg.Cancel()】がありますが、個人的にこのボタンの方が汎用性が高いと思うので、こちらのみを紹介。
気になった方は調べて使ってみてください。
リスト
・sg.Listbox(["Sample A","Sample B","Sample C"],size=(50,5))
次はリストの追加となりまs。
注意点として、size=()を入れないと、かなり小さくなってリストが見にくくなるので、入れておいた方が便利です。
コンボ
・sg.Combo(["Sample D","Sample E","Sample F"])
次にコンボの追加です。
この上図の赤線部分の▼を押すとリストが表示されるというGUIとなります。
進捗バー
・sg.ProgressBar(1000,orientation="h",size=(20,20),key="progbar")
最後に進捗バーのGUIです。
何かの処理をしているときの進捗をGUIとして表示したい時に便利です。
ただし、処理中にupdate_bar()で数値を更新しないとバーは動かないので注意が必要です。
その他の部分
その他の部分は、ウィンドウを作成したり、無限ループでウィンドウを更新したりしているだけです。
ただ唯一進捗バーに関しては永久ループの中で値を更新し続ける必要があるため、update_bar()を忘れないようご注意ください。
本記事の内容は以上です。
自分しか使わない場合GUIは不要ですが、他の人が使うかもしれない場合GUIがあったほうが便利です。
そのような時、基本的なGUIの作り方を知っておくと簡単に作れるので、覚えておいて損はありません。
本記事は以上です。お疲れさまでした。