python tkinter 的entry控件,怎么限制用户只能输入数字?
发布网友
发布时间:2022-04-23 14:51
我来回答
共3个回答
热心网友
时间:2022-05-11 00:36
使用正则判断,如果用户输入的是非数字符号则印发错误,输出错误信息,
import re
if not re.findall('[0-9]+',str(x)):
raise SystemError("只能输入数字")
热心网友
时间:2022-05-11 01:54
使用正则判断,如果用户输入的是非数字符号则印发错误,输出错误信息,
import re
if not re.findall('[0-9]+',str(x)):
raise SystemError("只能输入数字")
热心网友
时间:2022-05-11 03:29
废话不多说,直接上代码
import tkinter as tk
class Example(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
vcmd = (self.register(self.validate), '%S')
self.entry = tk.Entry(self, validate="key", validatecommand=vcmd)
self.entry.pack(side="top", fill="x")
def validate(self, text):
if isinstance(text, str) and text.isdigit():
return True
else:
return False
if __name__ == "__main__":
root = tk.Tk()
Example(root).pack(fill="both", expand=True)
root.mainloop()