ryotankの備考録日記

趣味の電子工作についての備考録などなど

回路草案入力フォームその12

フォーム全体に組み込んでもフォーム移動の機能は
どうも動作しないので

Tabの切り替えでフォームの切り替えを実装する

まずは、Tab切り替えのイメージ図の作成から

例のごとく画面レイアウト用にイメージ図を作る

基板草案入力フォームイメージ図-フォームの最初(Tab切り替えver)レイアウト用
基板草案入力フォームイメージ図-フォームの2ページ目(Tab切り替えver)レイアウト用
基板草案入力フォームイメージ図-フォームの3ページ(最後)の(Tab実装ver)レイアウト用

sg.Tabの例としては以下のようになる

import PySimpleGUI as sg

sg.theme('DarkBlue1')

tab1_layout =  [
    [sg.Text(' タブ1 ')],
    [sg.Input(key='input1')],
    [sg.Button('Read1')]
]

tab2_layout = [
    [sg.Text(' タブ2 ')],
    [sg.Input(key='input2')],
    [sg.Button('Read2')]
]

layout = [
    [sg.TabGroup([[sg.Tab('タイトル タブ1', tab1_layout), sg.Tab('タイトル タブ2', tab2_layout)]])],
    [sg.Quit()]
]

window = sg.Window('タブ デモ ', layout, default_element_size=(12, 1))

while True:

    event, values = window.read()

    # × もしくは Quitで終了
    if event in (None, 'Quit'):
        break

    # Readボタンを押すとinputのテキストが表示
    elif event == 'Read1':
        print(values['input1'])

    # Readボタンを押すとinputのテキストが表示
    elif event == 'Read2':
        print(values['input2'])

次回はレイアウト用の通りに作成フォームを作り込む

無事に出来れば、一時保存ボタンの実装を試す