ryotankの備考録日記

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

基板作りチェックリストその16

基板名入力フォーム画面が完成した

f:id:ryotank:20211224162501p:plain
基板名入力フォーム画面 全体


その時のコードが以下の通り

import PySimpleGUI as sg

sg.theme('LightGreen5')

#基板分類分け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))],
]


def Form2_window():
    pass
    sub_layout =[
        [sg.Text('基板名入力フォーム(2/2)', font=('小塚ゴシック', 15))], #0行目
        [sg.T('')],    #1行目
        [sg.Frame('基板分類分け 選択欄', L1, font=('小塚ゴシック', 20))],   #2行目
        [sg.T('')],
        [sg.Button('記入', key='-Enter-'), sg.T(' '*33),
      sg.Button('DBへ登録', key='-DB-')]    #3行目
        
    ]
    sub_window = sg.Window('入力フォーム', layout = sub_layout)
    
    while True:
                sub_events, sub_values = sub_window.read()
            
                if sub_events is None:
                    break
        
    sub_window.close()

main_layout = [
        [sg.Text('基板名入力フォーム(1/2)', font=('小塚ゴシック', 15))],   #0行目
        [sg.T('')],    #1行目
        [sg.Text('基板名 記入欄'), sg.Input(key='-Board name-')],    #2行目
        [sg.T('')],
        [sg.Text('リスト作成年月日 記入欄'), 
     sg.Input(key='-List creation date-')],#3行目
        [sg.T('')],
        [sg.Button('クリア', key='-Clear-'), sg.T(' '*33), 
     sg.Button('次へ', key='-NEXT-')]    #4行目
]

main_window = sg.Window('基板名入力フォーム', layout = main_layout, size=(500,450))

#フォームメインイベントループ
while True:
    main_event, main_values = main_window.read() #フォームメインの入力待ち(イベント待ち)
    
    if main_event is None:
        break
        
    elif main_event == '-NEXT-':  
        Form2_window()
        
    elif main_event == '-Clear-':   #「クリア」が押されたら
        main_window['-Board name-'].update("")   #基板名を空にする
        main_window['-List creation date-'].update("")   #作成年月日を空にする
        
#フォーム終了処理
main_window.close()

クリアボタンを実行した時の画面を載せる



「基板名入力フォーム」ボタンが押されたら・・
・フォーム画面を開く

また、「記入」ボタンが押されたらPDFファイルのヘッダー部分に
・基板名とリスト作成年月日が記入される

また、「DBへ登録」ボタンが押されたら
・専用のデータベースに記録される


以上の3つが今後実装する機能になる

次回はPDFファイルのヘッダー部分に基板名とリスト作成年月日が記入される
コードを完成させる

そのためにはA4サイズのヘッダー部分の領域を調べてどんな配置にするかを
検討するか