見出し画像

Pythonで作るGUI付き翻訳支援アプリの作成 Part5:GUIレイアウトの作成2

gui.pyの作成の続き

DeepL設定画面のレイアウト作成

DeepL設定画面であるconfig_window(config_deepl)は、メイン画面に比べて非常にシンプルになります。図.DeepL設定画面のレイアウト説明を参照下さい。れぞれの番号とコード内の行番号を今回も一致させています。

図.DeepL設定画面のレイアウト説明

1行目はテキストを表示させているだけですので説明は割愛します。
2行目は、DeepLのAPIキー入力欄になります。インプットウィジェットには、デフォルト値としてconfig.iniから読み込んだAuth_keyを表示させます。ただし、APIキーは人に見られたくありませんので表示させる時はパスワードのように*で隠すように表示させます。この設定は、password_char='*',で指定出来ます。キーはkey='-deepL_API-’として設定しています。
3行目は、更新ボタンを設置しています。キーはkey='-config_update-'として設定しています。

config_layout = [
    [sg.T('DeepL設定', font=font.osk_l, justification='center', text_color='#483d8b',pad=(0, 10))],
    [sg.T('APIキー:', font=font.udp_s, size=(8, 1)),sg.Input(config['Auth_key'], password_char='*', key='-deepL_API-',font=font.udp_s, size=(30, 1))],
    [sg.Button('更新', font=font.osk_s, key='-config_update-', size=(5, 1), pad=(180, 20))]
]

DeepL設定画面のGUI完成

以上でDeepL設定画面のGUIが完成しました。最後は、戻り値をreturn sg.Window("DeepL設定", config_layout, finalize=True)として返します。最終的にdef config_window():は以下のようになります。

def config_window(config):
    # ------------ Configウィンドウ作成 ------------

    config_layout = [
        [sg.T('DeepL設定', font=font.osk_l, justification='center', text_color='#483d8b',
              pad=(0, 10))],
        [sg.T('APIキー:', font=font.udp_s, size=(8, 1)),
         sg.Input(config['Auth_key'], password_char='*', key='-deepL_API-',
                  font=font.udp_s, size=(30, 1))],
        [sg.Button('更新', font=font.osk_s, key='-config_update-', size=(5, 1), pad=(180, 20))]
    ]
    return sg.Window("DeepL設定", config_layout, finalize=True)

以上でGUIのレイアウトは完成です。少し複雑でしたが、ほとんどがこれまでに解説してきた内容を組み合わせただけになります。

明日は、DeepL APIを使えるように登録方法を紹介いたします。

記事が参考になりましたら、❤️を押していただけると励みになります😊

いいなと思ったら応援しよう!