初めに
この記事ではmacbook airにインストールしたpython3.9.7を使っています
今回はこんな感じのアプリをYoutubeで見て作り類似したものを自作しました。
参考にしたのはこちらです。
https://www.youtube.com/watch?v=pk6fgvKQ7q4
その手順をコードの解説とともに忘備録的に載せておきます。
以下、コードの説明をします。
import PySimpleGUI as sg
PySimpleGUI(モジュール)をインポートしてモジュール名sgとして使用するという意味です。
Python言語でGUI(グラフィカルユーザーインターフェース)を構築できます.
※あらかじめPySimpleGUIをインストールする必要があります。
・PySimpleGUIのインストール方法
1. ターミナルコマンドを開く
2. pip3 install PySimpleGUIと記入
これでインストール完了です。
import math
mathモジュールをインポートするという意味です。
ここでは小数点以下の切り捨てにmath.floor(小数点以下を切り捨てしたい自然数)を使用するためにインポートしています。
layout =[
[sg.Text('みかん(1箱500円(税抜))'),sg.Combo(list(range(1,4)),key='-QUANTITY-'),sg.Text('個')],
[sg.Button('注文',key='-SUBMIT-')],
[sg.Text(key='-AMOUNT-',size=(120,10))]
]
後のwindow = sg.Window('注文',layout,size=(300,150))
のlayoutの部分を作成しています。
layoutの部分は配列になっています。
先程のせた写真の説明だと
layout = [
[みかん(1箱500円(税抜)),コンボボックス(プルダウン選択できるもの),個],
[注文],
[まだ見えない部分(個数選択して注文ボタンを押すと'金額:税込の金額'が表示される部分)]
]
となります
配列の例を出しておきます。
コード例.
layout = [[1,2,3],[4,5],[6]]
print(layout)
コード例の出力結果
[1,2,3]
[4,5]
[6]
window = sg.Window('注文',layout,size=(300,150))
変数windowにsg.Window('注文',layout,size=(300,150))を代入しています。
sg.Window('注文',layout,size=(300,150))でタイトルが注文の横が300,縦が150の配列layoutがレイアウトされた画面を作成します。
while True:
event,values = window.read()
if event == '-SUBMIT-':
total = math.floor(500 * 1.1 * int(values['-QUANTITY-']))
window['-AMOUNT-'].update(value=f'金額:{total}')
if event == sg.WIN_CLOSED:
break
while True:
event,values = window.read()
で画面が閉じてしますのを防ぎます。
if event == '-SUBMIT-':
total = math.floor(500 * 1.1 * int(values['-QUANTITY-']))
window['-AMOUNT-'].update(value=f'金額:{total}')
で、もし-SUBMIT-
を割り当てたボタンが押されたら
変数totalに500x1.1x選択された個数の結果を代入して
-AMOUNT-
を割り当てたテキストの表示を金額:変数totalに先程代入された結果
に更新する
という意味です。
説明は以上です。
最後までご覧いただきありがとうございます。
編集リクエストして下さったsiracamus様へ
編集リクエストして下さり、ありがとうございました。
おかげ様でとても見やすくなりました。