python PySimpleGUIでListboxを複数選択可能に設定する

python PySimpleGUIでListboxを複数選択可能に設定する

pythonで、ライブラリPySimpleGUIを使用してListboxを複数選択可能に設定するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

PySimpleGUIインストール

PySimpleGUIをインストールされていない方は、pipでインストールしておきます。

PySimpleGUI

<出力結果>
Collecting PySimpleGUI
  Downloading PySimpleGUI-4.41.2-py3-none-any.whl (348 kB)
     |████████████████████████████████| 348 kB 1.3 MB/s
Installing collected packages: PySimpleGUI
Successfully installed PySimpleGUI-4.41.2

複数選択可能に設定

Listboxを複数選択可能にするには「select_mode=sg.LISTBOX_SELECT_MODE_MULTIPLE」を使用します。

import PySimpleGUI as sg

sg.Listbox( ["one", "two", "three"], select_mode=sg.LISTBOX_SELECT_MODE_MULTIPLE)

以下は、Listboxを複数選択可能にしたサンプルコードとなります。

import PySimpleGUI as sg

# ウィンドウのテーマ
sg.theme('BlueMono')

# リストボックスのサイズ
width = 50
height = 50

# ウィンドウのレイアウト
layout = [
        [sg.Text('リストボックス')],
        [sg.Listbox( ["one", "two", "three"], select_mode=sg.LISTBOX_SELECT_MODE_MULTIPLE, size=(width,height)) ]
    ]

# ウィンドウオブジェクトの作成
window = sg.Window('title', layout, size=(300, 300))

# イベントのループ
while True:
    # イベントの読み込み
    event, values = window.read()
    # ウィンドウの×ボタンクリックで終了
    if event == sg.WIN_CLOSED:
        break

# ウィンドウ終了処理
window.close()

実行結果