Как обновить виджет Label при нажатии на кнопку?

введите сюда описание изображения

Каждый раз когда нажимаю на кнопку появляется новый виджет. Дело в том, что я хочу чтобы виджет обновлялся а не создавался новый. Как это сделать? Вот мой код:

from tkinter import *

root = Tk()
root.title("Grading System")

group = LabelFrame(root, text="Enter your scores", padx=15, pady=15)
Label(group, text="Mid-term: ").grid(row=0)
Label(group, text="Final-term: ").grid(row=1)
Label(group, text="Attendance: ").grid(row=2)
Label(group, text="Assignment: ").grid(row=3)
Label(group, text="Quiz: ").grid(row=4)
Label(group, text="Discussion: ").grid(row=5)
Label(group, text="ETC: ").grid(row=6)

mid = Entry(group)
fin = Entry(group)
att = Entry(group)
assig = Entry(group)
quiz = Entry(group)
disc = Entry(group)
etc = Entry(group)

entryList = [mid, fin, att, assig, quiz, disc, etc]

n = 0
for i in entryList:
    i.grid(row=n, column=1)
    n += 1

class Lecture:

    def __init__(self, mid, fin, att, assig, quiz, disc, etc):
        self.mid = float(mid.get())
        self.fin = float(fin.get())
        self.att = float(att.get())
        self.assig = float(assig.get())
        self.quiz = float(quiz.get())
        self.disc = float(disc.get())
        self.etc = float(etc.get())

    def grading_system(self):
        mid = (self.mid / 100) * 15
        fin = (self.fin / 100) * 15
        att = (self.att / 100) * 20
        assig = (self.assig / 100) * 40
        quiz = (self.quiz / 100) * 10
        disc = (self.disc / 100) * 0
        etc = (self.etc / 100) * 0
        total = mid + fin + att + assig + quiz + disc + etc

        result = Label(root, text=f"Your overall score is {total}", borderwidth=3, relief="ridge")
        result.pack()
    
def start():
    global student
    student = Lecture(mid, fin, att, assig, quiz, disc, etc)
    student.grading_system()

myButton = Button(root, text="Calculate", command=start)

myButton.pack(side=RIGHT, padx=10, pady=10)
group.pack(padx=15, pady=15)
root.mainloop()

Ответы (0 шт):