TkInter Вопрос: Удалить предыдущее тело нажатой кнопки? - PullRequest
1 голос
/ 01 ноября 2019

Итак, я изучаю TkInter для школы, и мне приходится кодировать расписание занятий с разными вариантами. Все шло нормально, но я столкнулся с проблемой, когда вместо замены текста просто пишет поверх него.

Всякий раз, когда я нажимаю кнопку, отображается текст, но если бы я нажал другую кнопку, он отображает текст поверх отображаемого текста вместо его замены. Я делаю весь текст в Label, потому что он работал ... пробовал текст и все такое, но вызывал у меня некоторые другие проблемы, которые исправил Label. Но опять же, я новичок в этом, поэтому, если есть какое-то исправление для Label, я буду рад этому, но если исправление заключается в замене каждого ярлыка на текст, то я просто хотел бы узнать, как конкретно. Спасибо!

Вот мой код:

from tkinter import *

class Asignatura:
  def __init__(self, dia, salon, h_comienzo, h_fin, curso, libre):
    self.dia = dia
    self.salon = salon
    self.h_comienzo = h_comienzo
    self.h_fin = h_fin
    self.curso = curso
    self.libre = libre

  def minutos(self, curso):
    minutes = self.h_fin[curso] % 100
    self.hora = (((self.h_fin[curso] - self.h_comienzo[curso]) // 100)*60) + minutes
    return(self.hora)


#en dos en dos
lu_mie = Asignatura("LW", "319", ["1800", "2000"], ["1955", "2155"], ["COMP 2501", "COMP 2400"],  "700 - 1800 : LIBRE")
mar_jue = Asignatura("MJ", "", "", "", ["CLASE ONLINE GEPE 4040", "CLASE ONLINE MATH 2251"],  "700 - 2200 : LIBRE")
vie_sab_dom = Asignatura("VSD", "", "", "", "", "700 - 2200 : LIBRE")




class TheGUI:
    def __init__(self, master):
        self.master = master
        master.title("-- PROGRAMA DE CLASES --")
        master.geometry('550x250')

        blankspace=StringVar()
        blankspace.set("")

        def ProgComp():
            self.label = Label(master, text=lu_mie.dia + " : " + lu_mie.libre).grid(row=2,column=3, sticky=E)
            self.label = Label(master, text=lu_mie.h_comienzo[0]+ " - "+ lu_mie.h_fin[0]+ ": "+ lu_mie.curso[0]+ " SALON: "+ lu_mie.salon).grid(row=3,column=3, sticky=E)
            self.label= Label(master, text= lu_mie.h_comienzo[1]+ " - "+ lu_mie.h_fin[1]+ ": "+ lu_mie.curso[1]+ " SALON: "+ lu_mie.salon).grid(row=4,column=3, sticky=E)
            self.label= Label(master, text= mar_jue.dia+ ": "+ mar_jue.libre+ "\n     "+ mar_jue.curso[0]+ "\n     "+ mar_jue.curso[1]).grid(row=5,column=3, sticky=E)
            self.label= Label(master, text=vie_sab_dom.dia+ ": "+ vie_sab_dom.libre).grid(row=6,column=3, sticky=E)

        def UnDia():
            #lunes y miercoles
            def luMieButton():
                self.label = Label(master, text=lu_mie.dia + " : " + lu_mie.libre).grid(row=1,column=4, sticky=W)
                self.label = Label(master, text=lu_mie.dia + " : " + lu_mie.libre).grid(row=2,column=4, sticky=W)
                self.label = Label(master, text=lu_mie.h_comienzo[0]+ " - "+ lu_mie.h_fin[0]+ ": "+ lu_mie.curso[0]+ " SALON: "+ lu_mie.salon).grid(row=3,column=4, sticky=W)
                self.label= Label(master, text= lu_mie.h_comienzo[1]+ " - "+ lu_mie.h_fin[1]+ ": "+ lu_mie.curso[1]+ " SALON: "+ lu_mie.salon).grid(row=4,column=4,sticky=W)

            #martes y jueves
            def marJueButton():
                self.label= Label(master, text= mar_jue.dia+ ": "+ mar_jue.libre+ "\n     "+ mar_jue.curso[0]+ "\n     "+ mar_jue.curso[1]).grid(row=1,column=4, sticky=W)
            #fin de semana
            def vieSabDomButton():
                self.label= Label(master, text= vie_sab_dom.dia+ ": "+ vie_sab_dom.libre).grid(row=1,column=4,sticky=W)
            #butones

            self.lunesDia = Button(master, text="LUNES", command=luMieButton).grid(row=1,column=100,sticky=E)
            self.martesDia = Button(master, text="MARTES", command=marJueButton).grid(row=2, column=100, sticky=E)
            self.miercolesDia = Button(master, text="MIERCOLES", command=luMieButton).grid(row=3,column=100,sticky=E)
            self.juevesDia = Button(master, text="JUEVES", command=marJueButton).grid(row=4, column=100, sticky=E)
            self.viernesDia = Button(master, text="VIERNES", command=vieSabDomButton).grid(row=5, column=100, sticky=E)
            self.sabadoDia = Button(master, text="SABADO", command=vieSabDomButton).grid(row=6, column=100, sticky=E)
            self.domingoDia = Button(master, text="DOMINGO", command=vieSabDomButton).grid(row=7, column=100, sticky=E)

        def Disponibilidad():
            pass






        self.progCompleto = Button(master, text="Programa Completo", command=ProgComp).grid(row=1, column=0, sticky=W)
        self.diaEspecifico = Button(master, text="Programa de un dia", command=UnDia).grid(row=2, column=0, sticky=W)
        self.horaDisponible = Button(master, text="Verificar Disponibilidad", command=Disponibilidad).grid(row=3, column=0, sticky=W)
        self.exit = Button(master, text="Close", command=master.destroy).grid(row=4, column=0, sticky=W)

root = Tk()
my_gui = TheGUI(root)
root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...