ryotankの備考録日記

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

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

修正したコードを載せ、一連の動作をのっける

import PySimpleGUI as sg

def Form2_window():   #フォーム2/3
    pass
sub_layout = [    [sg.T(' '*18), sg.Text('各項目を入力して下さい', 
                                font='小塚ゴシック17')],
                      [sg.Text('基板名', font='小塚ゴシック17'), 
                       sg.Input(key='-Board name-')],  #1行目
                      [sg.T(' ')],  #空白を挿入
                      [sg.Text('基板の英名', font='小塚ゴシック17'), 
                       sg.Input(key='-Board English name-'), sg.Text('英名は回路CADで英字必須',
                         font='小塚ゴシック17', text_color='blue')],  #2行目
                      [sg.T(' ')],  #空白を挿入
                      [sg.Text('部品構成', font='小塚ゴシック17'), 
                       sg.Multiline(size=(40,20), 
                       key='-Parts composition-')],  #3行目
                      [sg.T(' ')],
                      [sg.Button('一時保存', font='小塚ゴシック17'), sg.T(' '*26), 
                       sg.Button('クリア', font='小塚ゴシック17', key='-Clear2-'),
                       sg.T(' '*24), sg.Button('次へ移動', font='小塚ゴシック17', 
                       key='-Second-',button_color='green')]  #4行目
    ]

sub_window = sg.Window('回路草案入力フォーム(2/3)クリアボタン動作確認その2', layout = sub_layout)
    
while True:
                 sub_events, sub_values = sub_window.read()
            
                 if sub_events is None:
                    break
                
                 elif sub_events == '-Second-':  #「次へ移動」が押されたら
                    Form3_window()  #フォーム3/3を開く
                
                 elif sub_events == '-Clear2-':   #「クリア」が押されたら
                   #sub_windowの入力項目を空にする
                    sub_window['-Board name-'].update("")  #基板名を空に
                    sub_window['-Board English name-'].update("")  #基板英名を空に
                    sub_window['-Parts composition-'].update("")   #部品構成を空に  
                    
sub_window.close()  #フォーム2/3を閉じる
                
    
def Form3_window():    #フォーム3/3(フォーム最後のページ)
    pass
sub2_layout = [ 
                    [sg.T(' '*18), sg.Text('各項目を入力して下さい', 
                      font='小塚ゴシック17')],
                    [sg.Text('大まかな予算金額', 
                      font='小塚ゴシック17'), 
                     sg.Input(size=(20,2), key='-Budget amount-'), 
                     sg.Text('円(税別)')], #1行目
                    [sg.T(' ')],
                    [sg.Radio('pdfデータで残す', group_id='a1', 
                              font='小塚ゴシック17'),
                     sg.Radio('txtデータで残す', group_id='a1',
                              font='小塚ゴシック17')], #2行目
                    [sg.Text('作成年月日(西暦で入力して)', 
                     font='小塚ゴシック17'), 
                     sg.Input(size=(20,2), pad=(20,10), 
                              key='-Date of creation-',)], #3行目
                    [sg.Button('一時保存', font='小塚ゴシック17'), 
			sg.T(' '*20), 
                     sg.Button('クリア', font='小塚ゴシック17', 
			key='-Clear3-'),
                         sg.T(' '*17), sg.Button('出力', 
			font='小塚ゴシック17', 
                     button_color='Green')]
]

sub2_window = sg.Window('回路草案入力フォーム(3/3)クリアボタン動作確認その2', 
                            layout = sub2_layout, size=(500,250))

while True :
                    sub2_events, sub2_values = sub2_window.read()
            
                    if sub2_events is None:
                        break
                        
                    elif sub2_events == '-Clear3-':  #「クリア」が押されたら
                        #sub2_windowの各入力項目を空にする
                        sub2_window['-Budget amount-'].update("")    #予算金額を空に
                        sub2_window['-Date of creation-'].update("") #作成年月日を空に
                        
sub2_window.close() #フォーム3/3を閉じる
                    

フォーム2ページ目のクリアボタンの動作を確認
フォーム3ページ目のクリアボタンの動作を確認
動作確認日:2021-12-30


一連の挙動をGIFにした

f:id:ryotank:20211230184431g:plain
フォーム2クリアボタン実装
f:id:ryotank:20211230184452g:plain
フォーム3クリアボタン実装

これをフォームの最初に組み込みフォーム全体でも
無事に動くか確認する