💊
PySImpleGUIを深く理解する(後編)
PySimpleGUI布教活動
前回前々回と、PySimpleGUIについて徹底的に解説してきました。
※まだ見たことない方はこちらの記事をどうぞ!
YouTube解説動画(後編)
前回の投稿の続きです。
具体的には、
- メニュー
- タブ、タブグループ
- フレーム、セパレータ
- ポップアップ
について解説しています。
それぞれの要素の持つプロパティ(引数)を公式ドキュメントに準拠してすべて説明していますので、見ないと損です。一旦見てみましょう!
解説用スクリプト公開
動画内で使用したスクリプトも載せておくので、実際に自分のPCでも動かしてみてください!
タブ、タブグループ
tab_tabgroup.py
import PySimpleGUI as sg
# タブレイアウト
tab1_layout = [[sg.T('タブ1内容\nこちらはサンプルです')]]
tab2_layout = [
[sg.T('タブ2内容:テキストを入力してください')],
[sg.In()],
[sg.B("OK")],
]
# レイアウト
layout = [
[sg.T("====ウィジェット解説====", size=(30,1)),sg.B("確認ボタン")],
[sg.T("event :"),sg.T("eventを表示", size=(30, 1), k="-EVENT-")],
[sg.T("values:"), sg.T("valuesを表示", size=(30, 1), k="-VALUES-")],
[sg.TabGroup([[sg.Tab('タブ1', tab1_layout), sg.Tab('タブ2', tab2_layout)]],tab_location="topleft")],
[sg.B("タブの下")],
]
# ウインドウ生成
window = sg.Window("タブ タブグループ", layout, font=("meiryo", 20),resizable=True,
keep_on_top=True, grab_anywhere=True)
# イベント処理記述
while True:
event, values = window.read()
window["-EVENT-"].update(str(event))
window["-VALUES-"].update(str(values))
if event == None:
break
window.close()
フレーム、セパレータ
frame_HVseparator.py
import PySimpleGUI as sg
# タブレイアウト
frame1_layout = [
[sg.T("テキスト1")],
[sg.In(s=(10,1))],
[sg.B("ボタン1")],
]
frame2_layout = [
[sg.T("テキスト2")],
[sg.In(s=(10,1))],
[sg.B("ボタン2")],
]
# レイアウト
layout = [
[sg.T("====ウィジェット解説====", size=(30,1)),sg.B("確認ボタン")],
[sg.T("event :"),sg.T("eventを表示", size=(30, 1), k="-EVENT-")],
[sg.T("values:"), sg.T("valuesを表示", size=(30, 1), k="-VALUES-")],
[sg.HorizontalSeparator()],
[sg.Frame("フレーム1", frame1_layout),sg.VerticalSeparator() , sg.Frame("フレーム2", frame2_layout, title_location=sg.TITLE_LOCATION_BOTTOM)],
]
# ウインドウ生成
window = sg.Window("フレーム Hセパレータ Vセパレータ", layout, font=("meiryo", 20),resizable=True,
keep_on_top=True, grab_anywhere=True)
# イベント処理記述
while True:
event, values = window.read()
window["-EVENT-"].update(str(event))
window["-VALUES-"].update(str(values))
if event == None:
break
window.close()
Discussion