🌟

Python[PySimpleGui]でUI画面を作成する

2023/08/12に公開

PySimpleGUIを使ってPython GUIアプリを簡単に作成しよう!

Pythonを使ってGUIアプリケーションを作成すると聞いて、難しそうだし大変そう…と思ったことはありませんか?しかし、そんな不安を解消するのが「PySimpleGUI」です。この素晴らしいライブラリを使えば、誰でも簡単にPython GUIアプリを作成することができます。この記事では、PySimpleGUIの基本的な使い方と共に、実際のコード例を通じてその魅力をご紹介します。

PySimpleGUIって何?

PySimpleGUIは、PythonでGUIアプリケーションを作成するためのライブラリです。その名前の通り、シンプルなコードでGUIを構築することができる特長があります。このライブラリを使うことで、GUIの知識が限られている人でも簡単に魅力的なアプリを作成できるようになります。

インストールとはじめてのウィンドウ

まず初めに、PySimpleGUIをインストールしましょう。ターミナルやコマンドプロンプトを開いて、次のコマンドを実行します。

pip install PySimpleGUI

ライブラリのインストールが完了したら、はじめてのウィンドウを作成してみましょう。以下のコードを実行してみてください。

import PySimpleGUI as sg

layout = [[sg.Text("PySimpleGUI、こんにちは!")], [sg.Button("OK")]]

window = sg.Window("初めてのウィンドウ", layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == "OK":
        break

window.close()

このコードでは、ウィンドウに"PySimpleGUI、こんにちは!"というテキストと"OK"ボタンが表示されます。ボタンを押すとウィンドウが閉じるようになっています。

ユーザー入力を取得するウィンドウ

ユーザーからの入力を受け取るウィンドウを作成してみましょう。名前を入力すると、それを使った挨拶メッセージを表示するプログラムです。

import PySimpleGUI as sg

layout = [
    [sg.Text("名前を入力してください: "), sg.InputText()],
    [sg.Button("表示"), sg.Button("終了")]
]

window = sg.Window("挨拶プログラム", layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == "終了":
        break
    elif event == "表示":
        input_name = values[0]
        sg.popup(f"こんにちは、{input_name}さん!")

window.close()

このコードでは、名前を入力するフィールドと"表示"ボタン、"終了"ボタンが表示されます。ユーザーが名前を入力して"表示"ボタンを押すと、挨拶のポップアップが表示されます。

色々なダイアログを試してみる

PySimpleGUIには、様々なタイプのダイアログが用意されています。例えば、Yes/Noの選択ができるダイアログや、情報を表示するポップアップダイアログなどがあります。

import PySimpleGUI as sg

# Yes/Noの選択ダイアログ
result = sg.popup_yes_no("続けますか?", title="確認")

# ポップアップダイアログ
sg.popup("これはポップアップダイアログです!", title="ポップアップ")

さらなる例

リストボックスと選択ボタン

リストボックスと選択ボタンを組み合わせた例です。リストボックスから選択した項目を表示します。

import PySimpleGUI as sg

items = ["りんご", "バナナ", "オレンジ", "ぶどう"]

layout = [
    [sg.Listbox(values=items, size=(20, 4)), sg.Button("選択")],
    [sg.Text("", size=(20, 1), key="-OUTPUT-")]
]

window = sg.Window("リストボックスの例", layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    elif event == "選択" and values[0]:
        selected_item = values[0][0]
        window["-OUTPUT-"].update(f"選択されたのは {selected_item} です。")

window.close()

ファイル選択ダイアログと表示

ファイル選択ダイアログを使って、選んだ画像ファイルを表示する例です。

import PySimpleGUI as sg

layout = [
    [sg.Text("画像を選んでください"), sg.FileBrowse()],
    [sg.Image(key="-IMAGE-")]
]

window = sg.Window("画像表示プログラム", layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    elif event == "ファイル参照" and values["-FILE BROWSE-"]:
        image_path = values["-FILE BROWSE-"]
        window["-IMAGE-"].update(filename=image_path)

window.close()

まとめ

いかがでしょうか?この記事では、PySimpleGUIの基本的な使い方といくつかのコード例を通じて、GUIアプリケーションの作成方法を紹介しました。これらの例を試してみることで、PySimpleGUIのパワフルな機能を実感できるはずです。是非自分のプロジェクトに活かしてみてください。

もっと詳しい情報やさらなる例については、公式ドキュメントをチェックしてみてください。

公式ドキュメント: https://pysimplegui.readthedocs.io/

このMarkdown記事は、PySimpleGUIの基本的な使い方と多くの実例を含んでいます。ぜひ各例を実際に試してみて、自分のプロジェクトにGUI要素を追加する楽しさを感じてみてください!

Discussion