PySimpleGUIでメニュー画面を作成する。
PySimpleGUはデスクトップアプリを作成するGUIライブラリ
:::note alert
その名の通りデスクトップアプリなので、ローカル上で動作する。googleclabでは実行してもGUIは表示されないので注意。
:::
インストール
pip install pysimplegui
インポート
import PySimpleGUI as sg
でインポートできる。
毎度毎度pysimpleguiと打つのは大変なので
as sg
とすると後が楽。
レイアウトでよく使うもの
・sg.Text('キーワード')
・sg.In(key='word')
・sg.InputText()
・sg.FolderBrowse(key="folder")
・sg.Button('スタート')
Text
テキストの表示
In
入力欄
InputText
文字入力
FolderBrowse
###Button
##レイアウトの仕組み
GUIを表示させるには、Windowを作成する必要がある。
window = sg.Window('メニュー名', layout )
event, values = window.read()
メニュー名はこんなの
layout
レイアウトは作成したテキストとかボタンとかの並び順を指定できる。
レイアウトは以下のように配列みたいに格納する
layout=[
[sg.Text('検索キーワード',font=100)],
[sg.In(key='word')],
[sg.Text('保存先ファイルを選択(ファイルのアドレスを記入)',font=60)],
[sg.InputText(),sg.FolderBrowse(key="folder",size=(10,5))],
[sg.Button('スタート',font=50,size=(15,3),pad=(100,10))],
[sg.Button('終了',font=50,size=(15,3),pad=(100,10))]
]
こんな感じの画面が出てくる。
レイアウトはカンマ(,)区切りで行が変わる。
layout=[
[一行目],
[二行目],
///
[n行目],
]
一つの行に2つ以上の要素を入れたいときは、
[ n行目要素2 , n行目要素2] のように指定する。
上のGUI表示図を見ると、
[sg.InputText(),sg.FolderBrowse(key="folder",size=(10,5))]
がこれにあたる。
layout=[
[一行目],
[二行目要素1,二行目要素2],
///
[n行目],
]