はじめに
↓の記事で、家計予算自動配分プログラムを作成しました。
今回の記事では、Tkinterを利用してGUIを実装し、より使いやすくコードを書きます。
現時点で未完成です。方法がわかり次第、追記いたします。
Pythonで家計予算自動配分プログラムを作ってみる(Tkinterを使ったGUI実装)
Tkinterのドキュメント
コード
gridとplaceで位置を整える方法がわかりました!
こちらは未完成のコードです。
テキストボックスとボタンを配置するところまでは辿り着いたのですが、その後のボタンを押して計算を実行するところがまだ実装できていません。
途中まで考えたところはコメントアウトしています。
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("600x400")
root.title("budget Tkinter")
label1 = tk.Label(root, text= "お仕事お疲れ様でした! 予算配分をしましょう!")
label1.grid(row = 0, column =0)
label2 = tk.Label(root, text = "先月の給与を教えてください。")
label2.grid(row = 2, column =0)
entry1 = tk.Entry()
entry1.configure(state = 'normal', width = 20)
entry1.grid(row = 2, column =1)
label3 = tk.Label(root, text = "家賃(月額)を教えてください。")
label3.grid(row = 3, column =0)
entry2 = tk.Entry()
entry2.configure(state = 'normal', width = 20)
entry2.grid(row = 3, column =1)
button1 = tk.Button(root, text = "計算する") # commandでget関数を呼び出せばいけそう?
button1.place(x = 280, y = 80)
# salary = entry1.get()
# rent = entry2.get()
# food = int(salary * 0.2) # 食費
# communication = int(salary * 0.12) # 交際費
# transportation = int(salary *0.1) # 交通費
# hobbys = int(salary *0.1) # 娯楽費
# savings = int(salary - (rent + food +communication + transportation + hobbys)) # 貯金(給与から各費目を差し引き)
# label4(f"f"今月の予算配分は\n家賃 :{rent:,}円\n食費 :{food:,}円\n交際費:{communication:,}円\n交通費:{transportation:,}円\n娯楽費:{hobbys:,}円\n貯金 :{savings:,}円\nです!")
root.mainloop()
出力イメージ
まとめ
GUIを実装することにより、よく見る形のアプリが作成できるのですが、ボタン押下で計算、の実装まではまだ辿り着けていません…。出来次第更新していこうと思います。
次回の記事では、『Python2年生』で紹介されていた、PySimpleGUIを使って、よりデザイン性のあるGUIを実装したいと思います。(tkinter同様、テキストボックスとボタン配置で終わってしまいそうな気もしますが…)
参考リンク