【发布时间】:2016-11-16 18:26:30
【问题描述】:
我正在开发一段代码,它需要一个函数来检查用户通过输入框输入的输入是否是在一定范围内的有效整数,尽管我已经设法让程序每次用户输入无效整数时(通过标签)向上输出一条错误消息,而不是覆盖标签上先前存在的文本,它只是输出另一个,将旧的错误消息留在那里。如何让它覆盖/重写预先存在的标签?
到目前为止,这是我的功能:
def Entry_check():
ErrorMessage = Label(text = '', fg = 'red')
ErrorMessage.grid()
if a.get().isdigit(): #Let 'a' be entry #1
if int(a.get()) < 1 or int(a.get()) > 10:
ErrorMessage.config(text = 'This is invalid')
else:
Var1 = a.get() #Var1 now assigned to value in entry #1
if b.get().isdigit(): #Let 'b' be entry #2
if int(b.get()) < 2 or int(b.get()) > 5:
ErrorMessage.config(text = 'This is invalid')
else:
Var2 = b.get() #Var2 now assigned to value in entry #2
else:
ErrorMessage.config(text = 'This is invalid')
else:
ErrorMessage.config(text = 'This is invalid')
非常感谢任何帮助。
【问题讨论】:
-
ErrorMessage['text'] = "new text"或ErrorMessage.config(text="new text") -
您是否收到错误消息?始终显示有问题的完整错误消息。你在哪里声明
IntError?b是什么? -
没有错误信息,并且b,如注释,是条目#2(同理,a是条目#1)。很抱歉说'IntError',应该说'ErrorMessage',我现在已经改变了。谢谢。
标签: python python-3.x tkinter label