PySimpleGUIで始める!Python GUIアプリ作成ガイド

PRについて
※このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
スポンサーリンク
※このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
PySimpleGUIで始める!Python GUIアプリ作成ガイド Tips集
PySimpleGUIで始める!Python GUIアプリ作成ガイド
Pythonプログラミング逆引き大全

Pythonには、GUI(Graphical User Interface)を簡単に作成できるライブラリが数多く存在します。

その中でも、PySimpleGUIは特に使いやすいライブラリの一つです。

この記事では、PySimpleGUIを使って、簡単なアプリケーションを作成する手順を詳しく解説します。

ごまこ
ごまこ

GUIアプリケーションを作ってみたいんです。
Pythonを使ってGUIアプリを作成する方法を教えてください!

ごまお
ごまお

Pythonを使ってGUIアプリを作成するためのライブラリはtkinterなどなど、たくさんあります!
今回は簡単に見た目がきれいなアプリが作れるPySimpleGUIを紹介します!

PySimpleGUIとは?

PySimpleGUIは、PythonでのGUI作成を簡単にするライブラリです。

コードの量が他のライブラリと比べて少なく、初学者にも扱いやすいのが特徴です。

UIのレイアウトやウィンドウの制御が簡潔に行え、さまざまなGUIアプリケーションを短時間で開発できます。

PySimpleGUIのインストール方法

PySimpleGUIを使うために、以下のコマンドを使用してライブラリをインストールします。

pip install pysimplegui

簡単なGUIアプリの作成手順

ここでは、名前を入力してボタンを押すと挨拶を表示するシンプルなアプリケーションを作成します。

以下のコードを実行してみてください。

pythonコードをコピーするimport PySimpleGUI as sg

# レイアウトを定義
layout = [
    [sg.Text('お名前は?')],  # テキスト表示
    [sg.Input(key='name')],   # 入力フィールド
    [sg.Button('決定', key='bt')]  # 決定ボタン
]

# ウィンドウの作成
window = sg.Window('こんにちは', layout)

# イベントループの開始
event, values = window.read()

# ボタンが押された場合の処理
if event == 'bt':
    sg.Popup(values['name'] + 'さん ありがとうございます', title='(^^)')

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

コードの解説

  • layout: ウィンドウ内に表示される要素(テキスト、入力フィールド、ボタン)を定義しています。
  • window: レイアウトを使ってウィンドウを生成し、window.read()でイベントを受け取ります。
  • sg.Popup: ボタンが押されたときに、入力された名前と感謝のメッセージがポップアップで表示されます。

実行結果と解説

このプログラムを実行すると、以下のような動作をします。

  1. 「お名前は?」と表示されるウィンドウが立ち上がります。
  2. 名前を入力し、「決定」ボタンを押すと、ポップアップに入力された名前と「さん ありがとうございます」というメッセージが表示されます。

応用例

次に、この基本的なアプリを少し発展させて、複数の入力フィールドとファイル選択機能を追加してみましょう。

このアプリでは、ユーザーの名前と年齢を入力し、さらにファイルを選択して表示する機能を備えています。

プログラム例

import PySimpleGUI as sg

# レイアウトを定義
layout = [
    [sg.Text('お名前は?')],
    [sg.Input(key='name')],
    [sg.Text('年齢を教えてください')],
    [sg.Input(key='age')],
    [sg.Text('ファイルを選択してください')],
    [sg.Input(), sg.FileBrowse(key='file')],
    [sg.Button('送信', key='submit')]
]

# ウィンドウの作成
window = sg.Window('情報入力フォーム', layout)

# イベントループの開始
while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    if event == 'submit':
        name = values['name']
        age = values['age']
        file_path = values['file']
        
        # 入力された内容をポップアップで表示
        sg.Popup(f'お名前: {name}\n年齢: {age}\n選択されたファイル: {file_path}', title='入力結果')
        
# ウィンドウを閉じる
window.close()

コードの解説

  • sg.Input: ユーザーが名前と年齢を入力できるフィールドです。
  • sg.FileBrowse: ファイル選択ダイアログを表示するためのボタンです。選択されたファイルパスがkey='file'で取得されます。
  • sg.Popup: 入力された名前、年齢、選択されたファイルのパスを表示します。

実行結果

  1. 名前と年齢を入力するフィールド、そしてファイルを選択するボタンが表示されるウィンドウが開きます。
  2. 「送信」ボタンを押すと、入力された名前、年齢、選択されたファイルがポップアップで表示されます。

この応用例は、フォームアプリケーションやユーザーから情報を取得するためのGUIアプリケーションの基礎として役立ちます。

まとめ

この記事では、PythonのPySimpleGUIライブラリを使用して、シンプルなGUIアプリケーションを作成する方法を紹介しました。

さらに、複数の入力フィールドやファイル選択機能を追加する応用例も紹介しました。

PySimpleGUIを使えば、初心者でも短時間で強力なGUIアプリケーションを開発することができます。

今回紹介したコードをベースに、さらに複雑な機能を追加することも可能です。

例えば、データベースと連携した入力フォームや、複数のウィンドウを持つアプリケーションを作ることもできます。

自分のアイデアを形にして、オリジナルのアプリを作成してみましょう。

続けて他の応用例やアドバンスドな機能について知りたい方は、ぜひPySimpleGUIのドキュメントを参照してみてください!

このサイトのトップページへは以下へアクセス!

Python自動処理の教科書
Tips集
ゴマフリーダムをフォローする

コメント

達人に学ぶDB設計 徹底指南書

最短コースでわかる ディープラーニングの数学

あたらしい機械学習の教科書 第3版

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

タイトルとURLをコピーしました