2021年12月27日月曜日

PySimpleGUIでボタンメニュー要素を表示し、選択されたメニュー項目の処理を行う

PySimpleGUIでボタンメニュー要素を表示し、選択されたメニュー項目の処理を行うには、以下のサンプルプログラムのようにメニュー定義・イベント処理を行います。
メニュー定義で、「&」と続く英文字がALT+英文字のショートカットになります。また、先頭に「!」が付くと無効化されたメニュー項目になります。

サンプル実行手順

以下のファイルを保存して、実行します。ボタンを押してメニューを選択すると、下に配置したテキストが更新されます。

buttonmenu_events.py
import PySimpleGUI as sg

sg.theme('SystemDefault')
menu_def = [
    'buttonmenu', ['サンプル &1', 'サンプル &2']
]
mytext = sg.Text('', font=('Noto Serif CJK JP',30))
layout = [
    [sg.ButtonMenu("クリックして選択してください", menu_def)],
    [mytext]
]

window = sg.Window('メニューサンプル', layout, size=(300,100))
# イベントループ
while True:
    event, values = window.read()
    print(event,values)
    if values is not None and values[0] == 'サンプル 1':
        mytext.update(value='サンプル1')
    if values is not None and values[0] == 'サンプル 2':
        mytext.update(value='サンプル2')
    if event == sg.WIN_CLOSED:
        break

window.close()

・実行コマンド
python buttonmenu_events.py

〇実行結果

関連情報

PySimpleGUIでボタンメニュー要素の境界線の太さを指定する

PySimpleGUIでボタンメニュー要素のフォントを指定する

PySimpleGUIでボタンメニュー要素の画像をファイル名で指定する

PySimpleGUIでボタンメニュー要素のツールチップを設定する

PySimpleGUIでボタンメニュー要素の文字色・背景色を設定する

・PySimpleGUIに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿