こんにちは。IT業界への就職を目指す織田龍馬(@mousou_univ)です。
今回はついに!
PySimpleGUIを使った、簡単なデスクトップアプリを作ることができました!!
作成したPythonプログラムは、
「5教科の点数計算プログラム」です!
この記事は
・現役ITエンジニアさん
・Pythonプログラミング初心者
・IT初心者
などの方々に読んでいただけると嬉しいです。
それでは、よろしくお願いします!
「5教科の点数計算」の概要
今回の「5教科の点数計算」は、このような動きになります。
①「名前と国語・社会・数学・理科・英語の点数」をそれぞれ入力する。
⓶ ①を入力すると、自動的に5教科の合計点数が計算される
③ ⓶と同時に、合計点数に応じて5種類のコメントが出力される
とても簡単なプログラムですが、GUIを用いて作れたのがとても感動的です。
ソースコード公開
#1.PySimpleGUIモジュールのインストール import PySimpleGUI as sg #2.アプリで表示される文字入力 layout = [ [sg.Text("名前を入力: ",font=("Arial",16)),sg.Input(key="-NAME-")], [sg.Text("国語の点数を入力; ",font=("Arial",16)),sg.Input(key="-JAPANESE-")], [sg.Text("社会の点数を入力: ",font=("Arial",16)),sg.Input(key="-SOCIAL_STUDIES-")], [sg.Text("数学の点数を入力: ", font=("Arial", 16)),sg.Input(key="-MATH-")], [sg.Text("理科の点数を入力: ", font=("Arial", 16)),sg.Input(key="-SCIENCE-")], [sg.Text("英語の点数を入力: ", font=("Arial", 16)),sg.Input(key="-ENGLISH-")], [sg.Button("計算",key="-TOTAL-")], [sg.Text("合計は: ", key="-TOTAL_SUBJECT-", font=("Arial", 14))], [sg.Text("", key="-MESSAGE-", font=("Arial",50),text_color="Blue")] ] #3.ウインドウのタイトルと大きさ window=sg.Window("自動点数計算",layout,size=(500,500)) #4.合計の計算と、合計点数に合わせたメッセージの表示 while True: event,values=window.read() if event=="-TOTAL-": subject_total=int(values["-JAPANESE-"])+int(values["-SOCIAL_STUDIES-"])+int(values["-MATH-"])+int(values["-SCIENCE-"])+int(values["-ENGLISH-"]) window["-TOTAL_SUBJECT-"].update(value=f"合計は{subject_total}点です") if subject_total>=450: window["-MESSAGE-"].update(value=("すごい!天才!")) elif 449>=subject_total>=350: window["-MESSAGE-"].update(value=("よくがんばった!")) elif 349>=subject_total>=250: window["-MESSAGE-"].update(value=("まあまあだな!")) elif 249>=subject_total>=150: window["-MESSAGE-"].update(value=("もっと勉強しよう!")) else: window["-MESSAGE-"].update(value=("このままじゃまずいね…本気で頑張らないと!")) if event==sg.WINDOW_CLOSED: break window.close()
実際の画面
苦労したところ
合計点数とコメントを同時に出すのに苦労しました。
それぞれkeyを決めて取り出さないといけないので、MESSAGEキーを参照するのか、TOTALキーを参照するのかでこんがらがりましたが…
できあがったときは感動!