python - 当我在 tkinter 中单击按钮两次时,避免标签显示两次
问题描述
我正在做一个数学测验,我正在尝试进行错误处理。我只想self.wrongnum.destroy()
在之前显示标签时才被调用wrongnum
。现在发生的事情是,如果我单击一个按钮两次(wrongnum
如果用户输入的值有问题,它将显示标签),标签也会显示在另一个之上,但只有 1 个标签被破坏。我该怎么做才能避免出现 2 个相同的标签?或者我怎样才能摧毁两者?
以下是我的代码,如果我制作它的方式有任何其他问题,请告诉我。谢谢
def q2(self, master):
randomiser()
global answer
self.master = master
self.frame = Frame(master, padx=200, pady=200)
self.frame.grid()
self.user_choice = StringVar()
self.user_choice.set("")
self.q = Label(self.frame, text="What is {} x {} ?".format(x, y))
self.q.grid(row=0)
self.ans = Entry(self.frame, width=50, textvariable=self.user_choice)
self.ans.grid(row=1)
answer = x*y
self.sub = Button(self.frame, text="submit", command=lambda:[self.check(), randomiser()])
self.sub.grid(row=3)
def check(self):
try:
if self.user_choice == None:
self.wrongnum = Label(self.frame, text="Please enter a number")
self.wrongnum.grid(row=5)
self.necs()
else:
self.correct()
except ValueError:
self.wrongnum = Label(self.frame, text="Please enter a number")
self.wrongnum.grid(row=5)
def correct(self):
global p
if int(self.user_choice.get()) == answer:
cor = Label(self.frame,text="Correct!")
cor.grid(row=5, pady=20)
p += 1
self.sub.destroy()
self.wrongnum.destroy()
nex = Button(self.frame, text="Next", command=self.necs)
nex.grid(row=4)
else:
inc = Label(self.frame,text="incorrect, the correct answer is {}".format(answer))
inc.grid(row=5, pady=20)
self.sub.destroy()
nex = Button(self.frame, text="Next", command=self.necs)
nex.grid(row=4)
解决方案
推荐阅读
- python - Find the longest palindromic substring
- openssl - 为 ARM 静态交叉编译 OpenSSH
- regex - Regex for name type
- ruby-on-rails - Rails ActiveRecord::AssociationTypeMismatch
- amazon-cloudformation - 使用 cloudwatch 的 AWS ecs 计划任务
- drake - child class of leafsystem generating sinusoidal signal
- r - How to insert vertical lines along my scatter plots for specific x-intercept where the values in my variable contains argument "-01-01"
- time-complexity - int multiplyRec(int m, int n){ if(n == 1) return m; 的复杂度是多少?返回 m + multiplyRec(m, n - 1); }
- git - AWS codecommit not able to clone repo completely
- python - Optimize Sum of Squared Differences (SSD) in numpy