Tkinter 库---python小应用 贷款利息计算器

用Tkinter库制作一个小的【贷款利息计数器】应用

#实现GUI可交互式的界面
*输入年利率
*输入贷款年数
*输入贷款总金
*显示月应付金额
*显示总应付金额
*设置一个Button达到启动计算和显示的作用,放置在右下角

最终样本:
实现目标
1分析界面的Label、Entry和Button的位置,设计Grid网格如图下
图b是Grid图

设计思路:

  1. 创建窗口
  2. 放置小物件
  3. 实现变量之间的关系
    下面给出代码Demo:
from tkinter import *#引入库
class LoanCalculator:
    def __init__(self):
        window=Tk()#Create window
        window.title("Loa Calculator")#windo title
	
#Create Label小物件 并赋予文本和 网格位置
#row 和 column是位置参数,sticky可为W E S N 或两者容易组合---为居window位置
#Label(父容器,text=“”)函数--传教label小物件,必须含有一个父容器window	
#.grid()是网格管理器
#给出五个常量标签的创建
        Label(window,text="Annual Interest Rate").grid(row=1,column=1,sticky=W)
        Label(window, text="Number of Years").grid(row=2, column=1, sticky=W)
        Label(window, text="Loan Amount").grid(row=3, column=1, sticky=W)
        Label(window, text="Monthly Payment").grid(row=4, column=1, sticky=W)
        Label(window, text="Total Payment").grid(row=5, column=1, sticky=W)
#创建StringVar对象---tk库的字符串变量
#Entry()创建输入域,textvariable是文本变量
#输入的数据被传递给self.annualInterestRateVar
#给出三个输入域的创建
        self.annualInterestRateVar=StringVar()
        Entry(window,textvariable=self.annualInterestRateVar,
              justify=RIGHT).grid(row=1,column=2)
              
        self.numberOfYearsVar=StringVar()
        Entry(window,textvariable=self.numberOfYearsVar,
              justify=RIGHT).grid(row=2,column=2)
              
        self.LoanAmountVar=StringVar()
        Entry(window,textvariable=self.LoanAmountVar,
              justify=RIGHT).grid(row=3,column=2)
#变量标签的创建             
        self.monthlyPaymentVar=StringVar()
        lblMonthlyPayment=Label(window,
               textvariable=self.monthlyPaymentVar).grid(row=4,column=2,sticky=E)
        self.totalPaymemtVar=StringVar()
        lblTotalPaymemt=Label(window,
                textvariable=self.totalPaymemtVar).grid(row=5,column=2,sticky=E)
#Button(父容器,**args)创建按钮self.command是Button命令,需要在类内部定义后按钮被click可用
        btComputePayment=Button(window,text="Compute Payment",
                command=self.computePayment).grid(row=6,column=2,sticky=E)

        window.mainloop()#循环窗口事件

#定义类方法--按钮command--计算数值并且用.set()方法改变数值
    def computePayment(self):
        totalPayment=self.gettotalPayment(float(self.LoanAmountVar.get()),
                                              float(self.annualInterestRateVar.get())/100,
                                              int(self.numberOfYearsVar.get()))
        monthlyPayment=totalPayment/(12*int(self.numberOfYearsVar.get()))
        self.monthlyPaymentVar.set(format(monthlyPayment,"10.2f"))#改变其值
        self.totalPaymemtVar.set(format(totalPayment,"10.2f"))#改变其值
    def gettotalPayment(self,loanAmount,annualInterestRate,numberOfYears):
        totalPayment=loanAmount*(1+annualInterestRate)**numberOfYears
        return totalPayment
LoanCalculator()

注意点:

  • 1StringVar类型对象不能直接参与计算,需用到int()或者float()
    • 2set()方法设置最后的计算值

作者:不喜勿喷,本人只是个初级的python爱好者,望大神指教

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>