I tried creating a two-screen viewer using PySimpleGUI

Posted by


PySimpleGUIはPythonのGUIライブラリで、使いやすい構文と高いカスタマイズ性が特徴です。今回は、PySimpleGUIを使って二画面ビューワーを作成する方法を詳しく説明します。

まずは、PySimpleGUIをインストールします。以下のコマンドを使用して、PySimpleGUIをインストールしてください。

pip install PySimpleGUI

次に、以下のコードを使用して、二画面ビューワーを作成するPythonスクリプトを作成します。

import PySimpleGUI as sg

# ウィンドウのレイアウトを定義
layout = [
    [sg.Text('Select two images to view')],
    [sg.Input(key='file1'), sg.FileBrowse(), sg.Input(key='file2'), sg.FileBrowse()],
    [sg.Image(key='image1'), sg.Image(key='image2')],
    [sg.Button('View')]
]

# ウィンドウを作成
window = sg.Window('Two Image Viewer', layout)

# イベントループ
while True:
    event, values = window.read()

    # ウィンドウを閉じる場合
    if event == sg.WIN_CLOSED:
        break

    # Viewボタンが押された場合
    if event == 'View':
        image1_path = values['file1']
        image2_path = values['file2']

        # 画像を表示
        window['image1'].update(filename=image1_path)
        window['image2'].update(filename=image2_path)

# ウィンドウを閉じる
window.close()

このスクリプトでは、ウィンドウのレイアウトを定義し、2つの画像を選択して表示する機能を実装しています。sg.Inputsg.FileBrowseを使用することで、画像ファイルを選択するための入力欄とファイル選択ダイアログを表示するボタンを配置しています。

sg.Imageを使用して、画像を表示するためのウィジェットを配置し、window['image1'].updatewindow['image2'].updateを使用して、選択した画像を表示しています。

最後に、sg.Windowを使用してウィンドウを作成し、window.read()を使用してイベントを待ち受けます。ウィンドウが閉じられるか、Viewボタンが押された場合に選択した画像を表示します。

このようにして、PySimpleGUIを使って二画面ビューワーを作成することができます。PySimpleGUIの簡単な構文を活用して、自分だけのGUIアプリケーションを作成してみてください。