Tkinter 标签没有被破坏

Tkinter label isn't being destroyed

我写了一个小问卷,点击下一步或检查按钮不会破坏问题。有时有效,有时无效。这真的很奇怪。这些问题将放在旧问题之上。一堆问题,真烦人。

def myLabeldestroy(self):
    myLabel01.destroy()
def checkAnswer(self):
    ###Creation of random integers
    self.iniRand()
    ###Delete myLabel
    self.myLabeldestroy()
    self.mylabel(self.theories[self.qList][self.index][self.zero], 0, 1)
    ###Check whether answer is in used list or not
    if self.theories[self.qList] not in self.usedTheories:
        if self.gs[self.index][self.zero] not in self.used:
            ###Correct answer  
            self.myEntry.get() == str(self.theories[self.qList][self.index][self.one])
            self.used.append(self.gs[self.index][self.zero])
            self.mylabel(self.answer[self.answerIndex], 2, 1)
            self.counter += self.one
            ###Point counter
            self.mylabel("Point counter " + str(self.counter), 4, 1)
        ###Wrong answer
        else:
            self.mylabel(self.reply[self.answerIndex], 2, 1)
def nextAnswer(self):
    ###Creation of random integers
    self.iniRand()
    ###Delete myLabel
    self.myLabeldestroy()
    self.mylabel(self.theories[self.qList][self.index][self.zero], 0, 1)
    ###Check whether answer is in used list or not
    if self.theories[self.qList] not in self.usedTheories:
        if self.gs[self.index][self.zero] not in self.used:
            self.used.append(self.gs[self.index][self.zero])
            self.counter -= self.one
            ###Point counter
            self.mylabel("Point counter " + str(self.counter), 4, 1)

我建议您使用另一种 method.If 您是 .pack() 方法,如果您使用的是 .grid(),请使用 pack_forget() 或 grid_forget()。从 here 了解更多信息。

我发现了我的错误。我必须创建两个销毁方法。

def myLabeldestroyStart(self):
    self.myLabelstart01.destroy()
def myLabeldestroyQuestions(self):
    self.myLabelquestion01.destroy()