回路草案入力フォームその2
実際のフォーム画面のgifをのせる
画面内の「次へ移動」ボタンを押すと画面が切り替わる
その時のソースコードが以下の通り
import PySimpleGUI as sg def Form2_window(): pass sub_layout = [ [sg.T(' '*18), sg.Text('各項目を入力して下さい', font='小塚ゴシック17')], [sg.Text('基板名', font='小塚ゴシック17'), sg.Input()], #1行目 [sg.Text('基板の英名',font='小塚ゴシック17'), sg.Input(), sg.Text('英名は回路CADで英字必須の為', font='小塚ゴシック17',text_color='blue')], #2行目 [sg.Text('部品構成', font='小塚ゴシック17'), sg.Multiline(size=(40,20))], #3行目 [sg.T('')], [sg.Button('一時保存', font='小塚ゴシック17'), sg.T(' '*26), sg.Button('クリア', font='小塚ゴシック17'), sg.T(' '*24), sg.Button('次へ移動', font='小塚ゴシック17', key='-Second-', button_color='green')], #4行目 [sg.T('')] ] sub_window = sg.Window('回路草案入力フォーム(2/3)', layout=sub_layout) while True: sub_events, sub_values =sub_window.read() if sub_events is None: break elif sub_events == '-Second-': From3_window() sub_window.close() #フォーム2/3を閉じる def From3_window(): pass sub2_layout = [ [sg.T(' '*18), sg.Text('各項目を入力して下さい', font='小塚ゴシック17')], [sg.Text('大まかな予算金額', font='小塚ゴシック17'), sg.Input(), sg.Text('円(税別)')], #1行目 [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))], #3行目 [sg.Button('一時保存', font='小塚ゴシック17'), sg.T(' '*20), sg.Button('クリア', font='小塚ゴシック17'), sg.T(' '*17), sg.Button('出力', font='小塚ゴシック17', button_color='Green')] ] sub2_window = sg.Window('回路草案入力フォーム(3/3)', layout=sub2_layout, size=(500,250)) while True: sub2_events, sub2_values =sub2_window.read() if sub2_events is None: break sub2_window.close() #フォーム3/3を閉じる #分類分け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))] ] sg.theme('LightGreen3') main_layout =[ [sg.Text('入力フォーム(1/3)', font=('小塚ゴシックpro',13))], [sg.Text('回路CADの名前', font=('小塚ゴシックpro',16)), sg.InputText(pad=((0,0),(20,20)), key='InText')], #1行目 [sg.Text('目的',font=('小塚ゴシックpro',16)), sg.InputText(pad=((0,0),(40,40)))], #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('回路草案入力フォーム', layout=main_layout, size=(530,540)) #イベントループ while True: main_event, main_values= main_window.read() #メインウインドウの入力待ち(イベント待ち) if main_event is None: break elif main_event == '-First-': #「次へ移動」が押されたら Form2_window() #終了処理 main_window.close()
次回は各機能の実装に必要な下調べを記載する予定