見出し画像

Pythonで作るGUIアプリ入門 Part4 -ウィジェットにキーを設定-

ウィジェットにキーを設定

Part3では以下のコードで、ウィンドウにボタンを表示し、’ポップアップを表示’ボタンを押した場合にポップアップが表示されます。

import PySimpleGUI as sg

layout = [
    [sg.Button('ポップアップを表示')]
]

window = sg.Window('ボタンにイベントを追加', layout, size=(200, 50))

while True:
    event, value = window.read()  # イベントの入力を待つ

    if event == 'ポップアップを表示':
        sg.popup('ボタンが押されました')
        break
    elif event is None:
        break

window.close()

この時は、if文で event == ‘ポップアップを表示‘ としてボタンが押されたかを判断しています。しかし、これではどのウィジェットが押されたのかが分かりにくいので通常はウィジェットにキーを割り当てます。

ボタンウィジェットにキーを割り当てるには、以下のようにします。

[sg.Button('ポップアップを表示' , key = ‘-BTN-‘)]

ボタン以外のウィジェットにも同様にキーを割り当てられます。このキーは、各ウィジェットに割り当てられるIDのようなものとなっております。このキーを指定してイベント(event)や値(value)を取得する事ができます。

キーを使って、先ほどのコードを書き換えると以下のようになります。

import PySimpleGUI as sg

layout = [
    [sg.Button('ポップアップを表示', key = ‘-BTN-‘))]
]

window = sg.Window('ボタンにイベントを追加', layout, size=(200, 50))

while True:
    event, value = window.read()  # イベントの入力を待つ

    if event == '-BTN-':
        sg.popup('ボタンが押されました')
        break
    elif event is None:
        break

window.close()


キーを使った方がコードの見通しが良くなります。イベント処理で使うウィジェットには、キーを割り当てるようにしましょう。

次回は、ユーザーがインプットテキストに入力した値を取得するイベントを説明します。その後、各種ウィジェットの使い方説明に移ります。

GUIアプリ入門講座は毎日更新します!
記事が参考になりましたら、❤️を押していただけると励みになります😊

この記事が気に入ったらサポートをしてみませんか?