デスクトップアプリ

pythonと自動化

  1. HOME
  2. PySimpleGUI

簡単なアプリを作ってみよう

手軽にアプリ画面を構成するのに便利なライブラリであるPySimpleGUIを使うと簡単にデスクトップアプリを開発出来ます。

pip install pysimplegui

デスクトップアプリを構成する様々なGUI部品

import PySimpleGUI as gui
from datetime import datetime

layout = [
    [gui.Text('GUIの部品を参照してみよう!')],
    [gui.OK(), gui.Cancel()],
    [gui.Text('InputText:'), gui.InputText('文字入力')],
    [gui.Text('Checkbox:'), gui.Checkbox('チェック')],
    [gui.Text('Radio:'), gui.Radio('ラジオ', group_id='r')],
    [gui.Text('Spin:'), gui.Spin([1, 2, 3, 4, 5])],
    [gui.Text('Listbox:'), gui.Listbox([1, 2, 3, 4, 5], size=(40, 5))],
    [gui.Text('Slider:'), gui.Slider(range=(1, 5), orientation='h')],
    [gui.Button('値を表示')]
]

# ウィンドウの作成
win = gui.Window('色んな部品のGUI', layout)

# ウィンドウのイベントループ
while True:
    event, val = win.read()  # イベントにおけるパラメーターの取得
    if event in ('Exit', 'Quit', None):  # ウィンドウの終了イベント
        break
    if event == '値を表示':
        print(event, val)

win.close()
部品構成

インチからセンチへの計算ツール

import PySimpleGUI as gui

layout = [
    [gui.Text('インチをセンチメートルに変換します。')],
    [gui.Text('インチ'), gui.InputText(key='inch')],
    [gui.Button('変換')],
    [gui.Text('---', key='info', size=(30, 1))]
]

win = gui.Window('インチ⇒センチ交換', layout)

while True:
    event, val = win.read()  # イベントにおけるパラメーターの取得
    if event in ('Exit', 'Quit', None):  # ウィンドウの終了イベントか?
        break
    if event == '変換':
        inch = float(val['inch'])
        cm = inch * 2.54
        s = '{0}inch = {1}cm'.format(inch, cm)
        win['info'].update(s)  # テキストを更新

win.close()

インチ変換

デジタル時計

import PySimpleGUI as gui
from datetime import datetime

layout = [
    [gui.Text('デジタル時計')],
    [gui.Text('00:00:00', key='clock', font=('Helvetica', 72))]
]

win = gui.Window('時計', layout)

while True:
    event, val = win.read(timeout=100)
    if event in ('Exit', 'Quit', None):
        break
    s = datetime.now().strftime('%H:%M:%S')
    win['clock'].update(s)

win.close()

デジタル時計

Pythonを実行ファイルへ変換する

Pyinstallerという作成したプログラムを一つの実行ファイルにまとめるツールがあります。これで配布を行えば、Pythonのインストールや各種モジュールのインストール不要で実行できます。

pip install pyinstaller

cd フォルダのパス
pyinstaller ファイル名.py --onefile --noconsole

※生成した実行ファイル.exeはOS依存します。