#-*- encoding:utf-8 -*-
import tkinter
tk = tkinter.Tk()
#设置窗口标题
tk.title("房贷计算器")
#设置窗口大小
tk.geometry("290x500")
Total = tkinter.StringVar()
Downpayment = tkinter.StringVar()
Loan = tkinter.StringVar()
Repayment = tkinter.StringVar()
Interests = tkinter.StringVar()
#添加Label
label_area = tkinter.Label(tk,text ="房屋面积",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_area.place(x = 10,y = 10 ,width = 80,height = 40)
label_price = tkinter.Label(tk,text ="房屋单价",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_price.place(x = 10,y = 50 ,width = 80,height = 40)
label_total = tkinter.Label(tk,text ="房屋总价",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_total.place(x = 10,y = 90 ,width = 80,height = 40)
label_percent = tkinter.Label(tk,text ="首付比例",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_percent.place(x = 10 ,y = 130, width = 80, height = 40)
label_downpayment = tkinter.Label(tk,text ="首付金额",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_downpayment.place(x = 10 ,y = 170, width = 80, height = 40)
label_loan = tkinter.Label(tk,text ="贷款金额",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_loan.place(x = 10 ,y = 210, width = 80, height = 40)
label_years = tkinter.Label(tk,text = "按揭年数",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_years.place(x = 10 ,y = 250, width = 80, height = 40)
label_interest = tkinter.Label(tk,text = "贷款利率",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_interest.place(x = 10 ,y = 290, width = 80, height = 40)
label_repayment = tkinter.Label(tk,text = "每月月供",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_repayment.place(x = 10 ,y = 330, width = 80, height = 40)
label_interests= tkinter.Label(tk,text = "总利息",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_interests.place(x = 10 ,y = 370, width = 80, height = 40)
#添加单位label
label_area1 = tkinter.Label(tk,text ="㎡",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_area1.place(x = 250,y = 10 ,width = 20,height = 40)
label_price1 = tkinter.Label(tk,text ="元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_price1.place(x = 250,y = 50 ,width = 20,height = 40)
label_total1 = tkinter.Label(tk,text ="元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_total1.place(x = 250,y = 90 ,width = 20,height = 40)
label_percent1 = tkinter.Label(tk,text ="%",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_percent1.place(x = 250 ,y = 130, width = 20, height = 40)
label_downpayment1 = tkinter.Label(tk,text ="元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_downpayment1.place(x = 250 ,y = 170, width = 20, height = 40)
label_loan1 = tkinter.Label(tk,text ="元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_loan1.place(x = 250 ,y = 210, width = 20, height = 40)
label_years1 = tkinter.Label(tk,text = "年",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_years1.place(x = 250 ,y = 250, width = 20, height = 40)
label_interest1 = tkinter.Label(tk,text = "%",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_interest1.place(x = 250 ,y = 290, width = 20, height = 40)
label_repayment1 = tkinter.Label(tk,text = "元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_repayment1.place(x = 250 ,y = 330, width = 20, height = 40)
label_interests1= tkinter.Label(tk,text = "元",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
label_interests1.place(x = 250 ,y = 370, width = 20, height = 40)
#添加entry
entry_area = tkinter.Entry(tk,textvariable=tkinter.StringVar(),font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
entry_area.place(x = 100,y = 10 ,width = 150,height = 40)
entry_price = tkinter.Entry(tk,textvariable=tkinter.StringVar(),font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
entry_price.place(x = 100,y = 50 ,width = 150,height = 40)
entry_total = tkinter.Entry(tk,textvariable=Total,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
entry_total.place(x = 100,y = 90 ,width = 150,height = 40)
entry_percent = tkinter.Entry(tk,textvariable = tkinter.StringVar(),font = ("微软雅黑",15),fg=("#4F4F4F"),bd = 0.5)
entry_percent.place(x = 100, y = 130,width = 150,height = 40)
entry_downpayment = tkinter.Entry(tk,textvariable=Downpayment,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
entry_downpayment.place(x = 100,y = 170 ,width = 150,height = 40)
entry_loan = tkinter.Entry(tk,textvariable=Loan,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
entry_loan.place(x = 100,y = 210 ,width = 150,height = 40)
entry_years = tkinter.Entry(tk,textvariable = tkinter.StringVar(),font = ("微软雅黑",15),fg=("#4F4F4F"),bd = 0.5)
entry_years.place(x = 100, y = 250,width = 150,height = 40)
entry_interest = tkinter.Entry(tk,textvariable = tkinter.StringVar(),font = ("微软雅黑",15),fg=("#4F4F4F"),bd = 0.5)
entry_interest.place(x = 100, y = 290,width = 150,height = 40)
entry_repayment = tkinter.Entry(tk,textvariable=Repayment,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
entry_repayment.place(x = 100,y = 330 ,width = 150,height = 40)
entry_interests = tkinter.Entry(tk,textvariable=Interests,state = "readonly",font = ('微软雅黑',15),fg = ('#4F4F4F'),bd = 0.5)
entry_interests.place(x = 100,y = 370 ,width = 150,height = 40)
#设置总价按钮的函数
def total():
Total.set(float(entry_area.get())*float(entry_price.get()))
Downpayment.set(float(entry_total.get())*float(entry_percent.get())/100)
Loan.set(float(entry_total.get())-(float(entry_downpayment.get())))
#〔贷款本金×月利率×(1+月利率)^还款月数〕÷〔(1+月利率)^还款月数-1〕
Repayment.set(round(float(entry_loan.get())*(float(entry_interest.get())/100/12)*
((1+(float(entry_interest.get())/100/12))**(float(entry_years.get())*12))/
((1+(float(entry_interest.get())/100/12))**(float(entry_years.get())*12)-1),2))
#总利息=还款月数×每月月供额-贷款本金
Interests.set((float(entry_years.get())*12)*(float(entry_repayment.get()))-(float(entry_loan.get())))
button_total = tkinter.Button(tk,text = "等额本息",font = ('微软雅黑',20),fg = ('#4F4F4F'),bd = 0.5,command=total)
button_total.place(x = 150,y = 420,width = 130,height = 80)
def clear():
#清楚所有输入框的数据
entry_area.delete(0,100)
entry_price.delete(0,100)
entry_percent.delete(0,100)
entry_years.delete(0,100)
entry_interest.delete(0,100)
button_clear = tkinter.Button(tk,text = "重置",font = ('微软雅黑',20),fg = ('#4F4F4F'),bd = 0.5,command=clear)
button_clear.place(x = 10,y = 420,width = 130,height = 80)
#添加计算房贷首付、按揭等计算按钮
tk.mainloop()
如果觉得《python计算等额本息还款房贷_一个简单的房贷计算器(等额本息)》对你有帮助,请点赞、收藏,并留下你的观点哦!