You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
1.8 KiB

from tkinter import *
from modules.calculette import Calculette
def ajouter_au_calcul(symbol):
'''Ajoute un symbole à la saisie'''
current_text = calc.get()
calc.set(current_text + symbol)
def calculer_expression():
'''Calcule l'expression saisie'''
expression = calc.get()
resultat = calculatrice.calculer(expression)
result_label.config(text="Résultat: " + str(resultat))
def effacer():
'''Efface la saisie'''
calc.set("")
fenetre = Tk()
fenetre.geometry("350x300")
fenetre.title("Calculatrice")
calculatrice = Calculette()
calcLabel = Label(fenetre, text="Saisir le calcul")
from calculette import *
fenetre=Tk()
fenetre.title("Calculatrice")
calcLabel = Label(fenetre, text="saisir le calcul")
calcLabel.pack()
calc = StringVar()
calc.set("")
saisie = Entry(fenetre, textvariable=calc, width=40)
saisie.pack()
buttons_frame = Frame(fenetre)
buttons_frame.pack()
#matrices des boutons
buttons = [
('7', 1, 0), ('8', 1, 1), ('9', 1, 2), ('/', 1, 3),
('4', 2, 0), ('5', 2, 1), ('6', 2, 2), ('*', 2, 3),
('1', 3, 0), ('2', 3, 1), ('3', 3, 2), ('-', 3, 3),
('0', 4, 0), ('.', 4, 1), ('+', 4, 2), ('=', 4, 3),
]
for (text, row, col) in buttons:
if text == '=':
Button(buttons_frame, text=text, width=10, height=3, command=calculer_expression).grid(row=row, column=col)
else:
Button(buttons_frame, text=text, width=10, height=3, command=lambda t=text: ajouter_au_calcul(t)).grid(row=row, column=col)
Button(fenetre, text="EFFACER", width=40, command=effacer).pack()
result_label = Label(fenetre, text="")
result_label.pack()
fenetre.mainloop()
saisie = Entry(fenetre, textvariable=calc, width=10)
saisie.pack()
bouton1 = Button(fenetre, text="CALCULER", width=8)
bouton1.pack()
fenetre.mainloop()