This question already has answers here:
Interactively validating Entry widget content in tkinter
(8个答案)
5个月前关闭。
我的tkinter GUI应用程序中有一个输入字段。条目应仅接受数字,包括小数点。我使用了一个函数来验证输入。问题是,如果前面没有数字,则不接受小数点(。)。 (示例25.3不会接受)。如果开头有一个点,则此后不接受任何数字。谁能帮助我解决这个问题。还有什么建议将输入字段中的最大值限制为1000?
(8个答案)
5个月前关闭。
我的tkinter GUI应用程序中有一个输入字段。条目应仅接受数字,包括小数点。我使用了一个函数来验证输入。问题是,如果前面没有数字,则不接受小数点(。)。 (示例25.3不会接受)。如果开头有一个点,则此后不接受任何数字。谁能帮助我解决这个问题。还有什么建议将输入字段中的最大值限制为1000?
import tkinter as tk
def acceptNumber(inp):
if inp.isdigit():
return True
elif inp is "":
return True
elif inp is ".":
return True
else:
return False
win = tk.Tk()
reg = win.register(acceptNumber)
entryHere =tk.Entry(win)
entryHere.place(x=400, y=200)
entryHere.config(validate="key", validatecommand =(reg, '%P'))
win.mainloop()
最佳答案
这接受不大于1000的有效十进制数字:
def acceptNumber(inp):
try:
return True if inp == '' else float(inp) <= 1000
except:
return False
关于python - tkinter入口小部件验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57054820/