回路草案入力フォームその9
フォームのクリアボタン実装が実装できた
まだフォームの最初のクリアボタンのみしか確認できていない・・・
import PySimpleGUI as sg from PySimpleGUI import TITLE_LOCATION_TOP, InputText sg.theme('LightGreen3') #分類分けFrame L1 = [ [sg.Radio('モジュール基板', group_id='g1', font=('小塚ゴシック', 15))], [sg.Radio('試作基板', group_id='g1', font=('小塚ゴシック', 15))], [sg.Radio('ホビー用基板', group_id='g1', default=True , font=('小塚ゴシック', 15))], [sg.Radio('実験基板', group_id='g1', font=('小塚ゴシック', 15))], [sg.Radio('書き込みアダプター', group_id='g1', font=('小塚ゴシック', 15))] ] main_layout =[ [sg.Text('入力フォーム(1/3)', font=('小塚ゴシックpro',14))], [sg.Text('回路CADの名前', font=('小塚ゴシックpro',16)), sg.InputText(pad=((0,0),(20,20)), key='Incad')], #1行目 [sg.Text('目的',font=('小塚ゴシックpro',16)), sg.InputText(pad=((0,0),(40,40)), key='InPurpose')], #2行目 [sg.Frame('分類分け', L1, title_color='Blue', font=('小塚ゴシック', 20), title_location=TITLE_LOCATION_TOP, pad=((150,0),(15,35)), border_width=4)], #3行目 [sg.T(' ' *6), sg.Button('一時保存',size=(10,2), font=('小塚ゴシック', 15), key='update', button_color='blue'), #薄い青 sg.T(' ' *8), sg.Button('クリア',size=(10,2), font=('小塚ゴシック', 15), key='-Clear-', button_color='blue'), sg.T(' ' *6), sg.Button('次へ移動', size=(10,2), font=('小塚ゴシック', 15), key='-First-', button_color='red')] #4行目 ] main_window = sg.Window('回路草案入力フォーム クリアボタン実装動作確認その1', layout=main_layout, size=(530,540)) #イベントループ while True : main_event, main_values= main_window.read() #メインウインドウの入力待ち(イベント待ち) #clear,{'Incad': Incadの入力値, } if main_event is None: break elif main_event == '-Clear-': #クリアボタンが押されたら #main_windowの入力項目を空にする main_window['Incad'].update("") main_window['InPurpose'].update("") #終了処理 main_window.close()
そこで
・フォーム(2/3)での入力項目
基板の英名と基板名、部品構成
・フォーム(3/3)での入力項目
予算金額と作成年月日に分けて考える
InputTextの所にkeyを設定してイベントを発生させる
基板名ならkey名を'-Board name-'
基板英名ならkey名を'-Board English name-'
部品構成ならkey名を'-Parts composition-'
予算金額ならkey名を'-Budget amount-'
作成年月日ならkey名を'-Date of creation-'とする
フォームごとに入力項目イベントを分ける
sub_windowはフォーム(2/3)の事なら
elif sub_window == '-Clear-': #「クリア」が押されたら #sub_windowの入力項目を空にする sub_window['-Board name-'].update("") #基板名を空に sub_window['-Board English name-'].update("") #基板英名を空に sub_window['-Parts composition-'].update("") #部品構成を空に
sub2_windowはフォーム(3/3)の事なら
elif sub2_window == '-Clear-': #「クリア」が押されたら #sub2_windowの入力項目を空にする sub2_window['-Budget amount-'].update("") #予算金額を空に sub2_window['-Date of creation-'].update("") #作成年月日を空に
という風になり、これが実行されるか
動作確認を後日行う