ryotankの備考録日記

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

基板作りチェックリストアプリの作成その2

とりあえずGUIの外見が整ったので
実際のものを載せる

f:id:ryotank:20210815230858p:plain
基板作りチェックリストアプリFrame縦配置にした


その時に書いたコードは以下の通り

ただし、中の文言はまだ確定したものではないので注意する

import PySimpleGUI as sg

sg.theme('LightBrown10')

 # ------ Menu Definition ------ #
menu_def = [    ['&ファイル', ['&Open     Ctrl-O', '&Save       Ctrl-S', '&Properties', 'E&xit']],
                ['編集', ['&印刷プレビュー', '印刷'], ],
                ['&Toolbar', ['---', 'Command &1', 'Command &2',
                              '---', 'Command &3', 'Command &4']],
                ['&ヘルプ', ['オフライン対応ヘルプ', 'ReadMe','---', '&About...']],]


# ------ Frame layout Defintion ------ #
L1 = [      [sg.Checkbox('ダンピング抵抗は信号源の近くに配置したか', font='メイリオ', default=False),],
            [sg.Checkbox('タイミングが重要なバス線の長さを揃えたか', default=False)],
            [sg.Checkbox('ノイズに弱い回路の電源電圧の安定化にリニアレギュレーターを使っているか', default=False)],
            [sg.Checkbox('入力コンデンサは制御ICの入力端子の直近で接続しているか', default=False)]      ]


L2 = [      [sg.Checkbox('出力コンデンサと位相補償コンデンサの定数は最適化されているか', default=False)],
            [sg.Checkbox('前段の電源を起動・安定させてから後段の電源を起動しているか', default=False)],
            [sg.Checkbox('スイッチングノイズは正しく観測できているか', default=False)],
            [sg.Checkbox('基板の空きスペースは放熱用の銅箔で埋めてあるか', default=False)]      ]


# ------ GUI Defintion ------ #



L = [       [sg.Menu(menu_def, tearoff=False, pad=(200, 1))],
            [sg.Frame('デジタル信号の配線', L1)], 
            [sg.Frame('電源回路と配線の前検討', L2)]
    ]


window = sg.Window('基板作りチェック確認リスト', L, size=(800, 600))

#イベントループ
while True:
    event, values= window.read()  #イベントの読み取り(イベント待ち)

    if event == None or values['btm1'] =='Quit': #終了条件(None:クローズボタン)
        break

    if event == 'report':   #「印刷」が押されたら
            dn = sg.PopupYesNo('印刷前にプレビューは見ましたか?',title='プレビュー確認',font=18,
                text_color='#FF0',background_color='#777',button_color=('#F00', '#ccc'))
        #yesならそのまま印刷作業に移行

        #Noなら強制的にプレビューに移行

        #チェック項目が入っている箇所のみを取得する

    if event == 'JPG':

#終了処理
        window.close()

メモ:7章まで作成出来たら次回はメッセージリストを完成させる

オフライン対応ページは道のりが辛そうだなぁ