LoginSignup
1
0

More than 1 year has passed since last update.

非エンジニアOLのPython忘備録的ブログ

Last updated at Posted at 2022-05-03

初めに
この記事ではmacbook airにインストールしたpython3.9.7を使っています
今回はこんな感じのアプリをYoutubeで見て作り類似したものを自作しました。
参考にしたのはこちらです。
https://www.youtube.com/watch?v=pk6fgvKQ7q4
その手順をコードの解説とともに忘備録的に載せておきます。

・注文ボタン押す前
BBDDFF52-5E82-4EF0-B4C6-CC24C32C88EB_4_5005_c.jpeg
・個数選択して注文ボタン押した後

コードは以下の通りです。
CBD208CB-8A84-4000-A70C-2AD50F4009EB_4_5005_c.jpeg

以下、コードの説明をします。

コード1行目
import PySimpleGUI as sg

 PySimpleGUI(モジュール)をインポートしてモジュール名sgとして使用するという意味です。
 Python言語でGUI(グラフィカルユーザーインターフェース)を構築できます.
 ※あらかじめPySimpleGUIをインストールする必要があります。

・PySimpleGUIのインストール方法
 1. ターミナルコマンドを開く
 2. pip3 install PySimpleGUIと記入
これでインストール完了です。

コード2行目
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様へ
編集リクエストして下さり、ありがとうございました。
おかげ様でとても見やすくなりました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0