PySimpleGUIをexe化してGUIアプリ作成

スポンサーリンク

PySimpleGUIとは?

  • PythonのGUIライブラリ。
  • Tkinterよりも短いコード量でかける。
  • リストを使用してUIのレイアウト配置できる。
  • pipで簡単にインストール可能。

インストール方法

pip install pysimplegui

PySimpleGUIの使い方

デスクトップアプリの作成例

ソースコード

import PySimpleGUI as sg

#  セクション1 - オプションの設定と標準レイアウト
sg.theme('Dark Blue 3')

layout = [
    [sg.Text('Python GUI')],
    [sg.Text('名前', size=(15, 1)), sg.InputText('○○〇×××')],
    [sg.Text('住所', size=(15, 1)), sg.InputText('△△△△村')],
    [sg.Text('電話番号', size=(15, 1)), sg.InputText('xxx-xxx-xxx')],
    [sg.Submit(button_text='実行ボタン')]
]

# セクション 2 - ウィンドウの生成
window = sg.Window('住所を入力', layout)

# セクション 3 - イベントループ
while True:
    event, values = window.read()

    if event is None:
        print('exit')
        break

    if event == '実行ボタン':
        show_message = "名前:" + values[0] + 'が入力されました。\n'
        show_message += "住所:" + values[1] + 'が入力されました。\n'
        show_message += "電話番号:" + values[2] + "が入力されました。"
        print(show_message)

        # ポップアップ
        sg.popup(show_message)

# セクション 4 - ウィンドウの破棄と終了
window.close()

プログラムの1行がGUIの1行に対応してるので、見やすい。

layout = [
    [sg.Text('Python GUI')],
    [sg.Text('名前', size=(15, 1)), sg.InputText('○○〇×××')],
    [sg.Text('住所', size=(15, 1)), sg.InputText('△△△△村')],
    [sg.Text('電話番号', size=(15, 1)), sg.InputText('xxx-xxx-xxx')],
    [sg.Submit(button_text='実行ボタン')]
]

PyInstllerでpythonファイルをexe化

PyInstallerとは?

Pythonアプリと依存するライブラリなどのファイルを一つのパッケージにまとめる。
ユーザーはパッケージ化されたアプリ(exeファイル)を実行することができる。
PySimpleGUIで作ったプログラムをexe化してデスクトップアプリを作る。

作り方
・コマンドプロンプトを開く
・pythonファイル(例:test.py)が保存されているフォルダに移動する
・以下を実行する

pip install PyInstaller
pyinstaller -wF test.py

pyinstallerをpythonファイル名を指定して実行することでexeファイルが作成可能。
「dist」というフォルダが作成され、その中に.exeファイルが作成される。
このexeファイルを実行することでデスクトップアプリが起動。

pyinstallerでエラー

エラー
‘pyinstaller’ は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

解決した方法

  • 一旦pythonをアンインストール。
  • python公式サイトからダウンロードしてインストール。
  • その後、以下を実行。
python -m pip install --upgrade pip
pip install PyInstaller
pyinstaller -wF test.py

どうやらwindows10に最初から入っている「Microsoft Store版python」が良くないらしい。

サンプルコードが豊富

PySimpleGUIは、GitHubにデモプログラムが豊富にあるので、コードをダウンロードして動作させてみたり、コードを眺めたりすると勉強になる。

また、MatplotlibやOpenCVと連携したサンプルプログラムもたくさんある。

コメント

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