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