Python中的信用计算器-如何在GUI中显示结果

Python中的信用计算器-如何在GUI中显示结果,python,tkinter,calculator,Python,Tkinter,Calculator,我坚持在GUI中显示“偿还利息金额”和“最终债务金额”的结果。“显示”按钮应在图片上标记的位置绘制结果。提前谢谢 from tkinter import * master = Tk() master.title("Credit calculator") Label(master, text="Principal:").grid(row=0) Label(master, text="Interest rate p(%):").grid(row=1) Label(master, text="Re

我坚持在GUI中显示“偿还利息金额”和“最终债务金额”的结果。“显示”按钮应在图片上标记的位置绘制结果。提前谢谢

from tkinter import *

master = Tk()
master.title("Credit calculator")

Label(master, text="Principal:").grid(row=0)
Label(master, text="Interest rate p(%):").grid(row=1)
Label(master, text="Repayment period in years:").grid(row=2)

Label(master, text="Amount of interest for repayment:").grid(row=3)
Label(master, text="Final Debt Amount:").grid(row=4)

e1 = Entry(master)
C0=e1.grid(row=0, column=1)

e2 = Entry(master)
p=e2.grid(row=1, column=1)

e3 = Entry(master)
n=e3.grid(row=2, column=1)

#Amount of interest for repayment:
# K=(C0*p*n)/100

#Final Debt Amount:
# Cn=C0*(1+(p*n)/100)


Button(master, text='Quit', command=master.quit).grid(row=5, column=0, sticky=E, pady=4)
Button(master, text='Show', command=master.quit).grid(row=5, column=1, sticky=W, pady=4)

mainloop( )

根据您的代码:

from tkinter import *

master = Tk()
master.title("Credit calculator")

Label(master, text="Principal:").grid(row=0)
Label(master, text="Interest rate p(%):").grid(row=1)
Label(master, text="Repayment period in years:").grid(row=2)

Label(master, text="Amount of interest for repayment:").grid(row=3)
Label(master, text="Final Debt Amount:").grid(row=4)

e1 = Entry(master)
e1.grid(row=0, column=1)

e2 = Entry(master)
e2.grid(row=1, column=1)

e3 = Entry(master)
e3.grid(row=2, column=1)

K = Entry(master, state=DISABLED)
K.grid(row=3, column=1)
Cn = Entry(master, state=DISABLED)
Cn.grid(row=4, column=1)

def calc(K, Cn):
    # get the user input as floats
    C0 = float(e1.get())
    p = float(e2.get())
    n = float(e3.get())
    # < put your input validation here >

    #Amount of interest for repayment:
    K.configure(state=NORMAL) # make the field editable
    K.delete(0, 'end') # remove old content
    K.insert(0, str((C0 * p * n) / 100)) # write new content
    K.configure(state=DISABLED) # make the field read only

    #Final Debt Amount:
    Cn.configure(state=NORMAL) # make the field editable
    Cn.delete(0, 'end') # remove old content
    Cn.insert(0, str(C0 * (1 + (p * n) / 100))) # write new content
    Cn.configure(state=DISABLED) # make the field read only


Button(master, text='Quit', command=master.quit).grid(row=5, column=0, sticky=E, pady=4)
Button(master, text='Show', command=lambda: calc(K, Cn)).grid(row=5, column=1, sticky=W, pady=4)

mainloop()
从tkinter导入*
master=Tk()
硕士头衔(“学分计算器”)
标签(master,text=“Principal:”).grid(行=0)
标签(master,text=“利率p(%):”)。网格(行=1)
标签(master,text=“还款期(年):).grid(行=2)
标签(master,text=“还款利息金额:”).grid(行=3)
标签(主,text=“最终债务金额:”).grid(行=4)
e1=入口(主)
e1.网格(行=0,列=1)
e2=入口(主)
e2.网格(行=1,列=1)
e3=入口(主)
e3.网格(行=2,列=1)
K=输入(主,状态=禁用)
K.网格(行=3,列=1)
Cn=条目(主,状态=禁用)
Cn.grid(行=4,列=1)
def计算(K,Cn):
#以浮点形式获取用户输入
C0=浮点(e1.get())
p=float(e2.get())
n=float(e3.get())
#<在此处输入验证>
#还款利息金额:
K.配置(状态=正常)#使字段可编辑
K.delete(0,'end')#删除旧内容
插入(0,str((C0*p*n)/100))#写新内容
K.configure(state=DISABLED)#将字段设置为只读
#最终债务金额:
Cn.configure(state=NORMAL)#使该字段可编辑
Cn.delete(0,'end')#删除旧内容
插入(0,str(C0*(1+(p*n)/100))#编写新内容
Cn.configure(state=DISABLED)#将字段设置为只读
按钮(master,text='Quit',command=master.Quit).grid(行=5,列=0,粘滞=E,pady=4)
按钮(master,text='Show',command=lambda:calc(K,Cn)).grid(行=5,列=1,粘滞=W,pady=4)
mainloop()
使用Python 3.5.2在ubuntu 16.04上进行测试,结果如下:

请记住,我对经济学不太了解,所以我不知道我的测试输入是否良好。但在这种情况下,这并不重要。

根据您的代码:

from tkinter import *

master = Tk()
master.title("Credit calculator")

Label(master, text="Principal:").grid(row=0)
Label(master, text="Interest rate p(%):").grid(row=1)
Label(master, text="Repayment period in years:").grid(row=2)

Label(master, text="Amount of interest for repayment:").grid(row=3)
Label(master, text="Final Debt Amount:").grid(row=4)

e1 = Entry(master)
e1.grid(row=0, column=1)

e2 = Entry(master)
e2.grid(row=1, column=1)

e3 = Entry(master)
e3.grid(row=2, column=1)

K = Entry(master, state=DISABLED)
K.grid(row=3, column=1)
Cn = Entry(master, state=DISABLED)
Cn.grid(row=4, column=1)

def calc(K, Cn):
    # get the user input as floats
    C0 = float(e1.get())
    p = float(e2.get())
    n = float(e3.get())
    # < put your input validation here >

    #Amount of interest for repayment:
    K.configure(state=NORMAL) # make the field editable
    K.delete(0, 'end') # remove old content
    K.insert(0, str((C0 * p * n) / 100)) # write new content
    K.configure(state=DISABLED) # make the field read only

    #Final Debt Amount:
    Cn.configure(state=NORMAL) # make the field editable
    Cn.delete(0, 'end') # remove old content
    Cn.insert(0, str(C0 * (1 + (p * n) / 100))) # write new content
    Cn.configure(state=DISABLED) # make the field read only


Button(master, text='Quit', command=master.quit).grid(row=5, column=0, sticky=E, pady=4)
Button(master, text='Show', command=lambda: calc(K, Cn)).grid(row=5, column=1, sticky=W, pady=4)

mainloop()
从tkinter导入*
master=Tk()
硕士头衔(“学分计算器”)
标签(master,text=“Principal:”).grid(行=0)
标签(master,text=“利率p(%):”)。网格(行=1)
标签(master,text=“还款期(年):).grid(行=2)
标签(master,text=“还款利息金额:”).grid(行=3)
标签(主,text=“最终债务金额:”).grid(行=4)
e1=入口(主)
e1.网格(行=0,列=1)
e2=入口(主)
e2.网格(行=1,列=1)
e3=入口(主)
e3.网格(行=2,列=1)
K=输入(主,状态=禁用)
K.网格(行=3,列=1)
Cn=条目(主,状态=禁用)
Cn.grid(行=4,列=1)
def计算(K,Cn):
#以浮点形式获取用户输入
C0=浮点(e1.get())
p=float(e2.get())
n=float(e3.get())
#<在此处输入验证>
#还款利息金额:
K.配置(状态=正常)#使字段可编辑
K.delete(0,'end')#删除旧内容
插入(0,str((C0*p*n)/100))#写新内容
K.configure(state=DISABLED)#将字段设置为只读
#最终债务金额:
Cn.configure(state=NORMAL)#使该字段可编辑
Cn.delete(0,'end')#删除旧内容
插入(0,str(C0*(1+(p*n)/100))#编写新内容
Cn.configure(state=DISABLED)#将字段设置为只读
按钮(master,text='Quit',command=master.Quit).grid(行=5,列=0,粘滞=E,pady=4)
按钮(master,text='Show',command=lambda:calc(K,Cn)).grid(行=5,列=1,粘滞=W,pady=4)
mainloop()
使用Python 3.5.2在ubuntu 16.04上进行测试,结果如下:


请记住,我对经济学不太了解,所以我不知道我的测试输入是否良好。在这种情况下,这仍然不重要。

画布可以用于绘图。更准确地说,我需要通过按“显示”按钮来显示“K”和“Cn”的结果。结果应该在图片上标记的位置上可见。为什么不将其显示为标签呢?
Canvas
可用于绘图。更准确地说……我需要通过按“显示”按钮来显示“K”和“Cn”的结果。结果应该在图片上标记的地方可见。为什么不把它显示为标签呢?谢谢!我将对此进行分析,并尝试使用新功能进行更新。谢谢!我将对此进行分析,并尝试使用新功能进行更新。