ryotankの備考録日記

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

回路草案入力フォームその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("")  #作成年月日を空に
       

という風になり、これが実行されるか
動作確認を後日行う