2021年9月29日水曜日

PySimpleGUIで単一選択リストボックスで選択された項目を別のテキスト要素に表示する

PySimpleGUIで単一選択リストボックスで選択された項目を別のテキスト要素に表示するには、サンプルのように以下のパラメータを使用します。
enable_events: イベントを有効化します
key: 要素を識別するキー値を設定します

サンプル実行手順

以下のファイルを保存して、実行します。単一選択リストボックスの選択を変更すると、下に配置したテキストが更新されます。

listbox_events.py
import PySimpleGUI as sg

MY_LISTBOX_KEY="mylistbox"

sg.theme('SystemDefault')

mytext = sg.Text('未選択', font=('Noto Serif CJK JP',30))
values = ["項目1", "項目2", "項目3"]
layout = [
  [sg.Listbox(values, select_mode=sg.LISTBOX_SELECT_MODE_SINGLE, size=(10,3), enable_events=True, key=MY_LISTBOX_KEY)],
  [mytext]
]

window = sg.Window('リストボックス: イベント', layout, size=(200,150))
# イベントループ
while True:
    event, event_values = window.read()
    # リストボックスの選択が変わった場合
    if event == MY_LISTBOX_KEY:
        mytext.update(value=str(event_values[MY_LISTBOX_KEY][0]))
    if event == sg.WIN_CLOSED:
        break

window.close()

・実行コマンド
python listbox_events.py

〇実行結果

関連情報

PySimpleGUIでリストボックス要素を単一選択可能モードに設定する

PySimpleGUIでリストボックス要素を複数選択可能モードに設定する

PySimpleGUIでリストボックス要素のフォント・フォントサイズを指定する

PySimpleGUIでリストボックス要素の文字色・背景色を指定する

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

0 件のコメント:

コメントを投稿