2017-10-12 15 views
1

Je suis bloqué en affichant les résultats de «Montant d'intérêt pour le remboursement» et «Montant final de la dette» dans l'interface graphique. "Show" bouton devrait dessiner le résultat sur l'endroit marqué sur l'image. Merci d'avance!Calculatrice de crédit en Python - comment afficher le résultat en GUI

GUI example

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() 
+0

'Canvas' peut être utilisé pour le dessin. – mentalita

+0

Pour être plus précis ... j'ai besoin de montrer les résultats de "K" et "Cn" en appuyant sur le bouton "Afficher". Le résultat devrait être visible sur l'endroit marqué sur l'image. – Prijateljski

+1

Pourquoi ne pas simplement le montrer comme étiquettes? – mentalita

Répondre

0

En fonction de votre code:

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() 

testé sur ubuntu 16.04 avec Python avec des résultats 3.5.2:

Credit Calculator

Gardez à l'esprit que je Je ne sais pas beaucoup de choses sur l'économie, donc je ne sais pas si mes entrées de test sont bonnes. Pourtant, cela ne devrait pas avoir d'importance dans ce cas.

+0

Merci! Je vais analyser cela et peut-être essayer de mettre à jour avec de nouvelles fonctionnalités. – Prijateljski