python PySimpleGUIでTabとTabGroupのタブを利用する

python PySimpleGUIでTabとTabGroupのタブを利用する

pythonで、ライブラリPySimpleGUIを使用して、TabとTabGroupでタブを利用するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

PySimpleGUIインストール

PySimpleGUIをインストールされていない方は、pipでインストールしておきます。

PySimpleGUI

<出力結果>
Collecting PySimpleGUI
  Downloading PySimpleGUI-4.41.2-py3-none-any.whl (348 kB)
     |████████████████████████████████| 348 kB 1.3 MB/s
Installing collected packages: PySimpleGUI
Successfully installed PySimpleGUI-4.41.2

TabとTabGroupを設定

TabとTabGroupを設定するには、tabを生成してからtabGroupに設定します。

import PySimpleGUI as sg

# Tab( タイトル, レイアウト)
t1 = sg.Tab('backpack' ,[[sg.Image(filename='backpack.png')]])
t2 = sg.Tab('alarm-clock' ,[[sg.Image(filename='alarm-clock.png')]])
t3 = sg.Tab('pencil-case.png' ,[[sg.Image(filename='pencil-case.png')]])

# TabGroup に tabを設定
layout=[[sg.TabGroup ([[t1 ,t2,t3 ]])]]

以下は、TabとTabGroupを使用してタブを表示するサンプルコードとなります。

import PySimpleGUI as sg

# ウィンドウのテーマ
sg.theme('SandyBeach')

# Tab( タイトル, レイアウト)
t1 = sg.Tab('backpack' ,[[sg.Image(filename='backpack.png')]])
t2 = sg.Tab('alarm-clock' ,[[sg.Image(filename='alarm-clock.png')]])
t3 = sg.Tab('pencil-case.png' ,[[sg.Image(filename='pencil-case.png')]])


# ウィンドウのレイアウト
layout=[[sg.TabGroup ([[t1 ,t2,t3 ]])]]

# ウィンドウオブジェクトの作成
window = sg.Window('title', layout, size=(500, 500))

# イベントのループ
while True:
    # イベントの読み込み
    event, values = window.read()
    # ウィンドウの×ボタンクリックで終了
    if event == sg.WIN_CLOSED:
        break
# ウィンドウ終了処理
window.close()

実行結果