簡単なアプリを作ってみよう
手軽にアプリ画面を構成するのに便利なライブラリである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
pyinstaller ファイル名.py --onefile --noconsole
※生成した実行ファイル.exeはOS依存します。