メニュー定義で、「&」と続く英文字がALT+英文字のショートカットになります。また、先頭に「!」が付くと無効化されたメニュー項目になります。メニュー項目の後ろに「::キー値」をつけると、メニューにはその部分は表示されないが、イベントには付加された状態で渡されます。
サンプル実行手順
以下のファイルを保存して、実行します。メニューを選択すると、下に配置したテキストが更新されます。menu_events.py
import PySimpleGUI as sg
sg.theme('SystemDefault')
menu_def = [
['&Sample', ['Sample &1::sample1key', '!Sample &2::sample2key']],
['&Help', ['&About...::aboutkey']]
]
mytext = sg.Text('', font=('Noto Serif CJK JP',30))
layout = [
[sg.Menu(menu_def)],
[mytext]
]
window = sg.Window('メニューサンプル', layout, size=(200,100))
# イベントループ
while True:
event, values = window.read()
print(event,values)
if event is not None and event.endswith('sample1key'):
mytext.update(value='Sample1')
if event is not None and event.endswith('sample2key'):
mytext.update(value='Sample2')
if event is not None and event.endswith('aboutkey'):
mytext.update(value='About')
if event == sg.WIN_CLOSED:
break
window.close()
・実行コマンド
python menu_events.py
〇実行結果
関連情報
・PySimpleGUIでメニュー要素のメニュー項目の文字色・背景色を設定する・PySimpleGUIでメニュー要素のメニュー項目のフォントを設定する
・PySimpleGUIに関する他の記事はこちらを参照してください。
0 件のコメント:
コメントを投稿