pyhton tkinter库如何设置文本框中只能输入数字(int或者float)
我希望在一个窗口中的文本框只能输入数字,求解答
可以参考如下代码,效果为:如果输入非数字则清空输入框
from tkinter import *
master = Tk()
master.title("输入数字校验")
theLabel = Label(master, text="Please input minute")
theLabel.pack()
# 校验时间输入是否符合要求
# StringVar()
# 分钟、秒要求60以内的非负数
def timeValidate():
cont = e1.get()
if len(cont) <= 2: # 字符长度不超过2
if cont.isdigit(): # 字符串是否只有数字
print(int(cont)) # 数字字符串转数字'123'=123
if int(cont) >= 0 and int(cont) < 60: # 数字不大于60
return True
else:
print("错误!")
e1.delete(0, END) # 清除输入框
return False
else:
print("错误!")
e1.delete(0, END)
return False
else:
print("错误!")
v2.set("error") # 第二个文本框显示错误
e1.delete(0, END)
return False
v1 = StringVar()
v2 = StringVar()
e1 = Entry(master, textvariable=v1, validate="focusout", validatecommand=timeValidate)
e2 = Entry(master, textvariable=v2)
e1.pack(padx=10, pady=10)
e2.pack(padx=10, pady=10)
mainloop()
瞅瞅https://fishc.com.cn/thread-207475-1-1.html
Python获取用户输入的数据用input函数,这函数不管输入什么都将数据转换成字符串,你可以把input写在while循环里,只要int或者float将input获取的数据无法成功转换为数字报错时,你就捕获异常进入新的循环从来输入知道用户输入的数据为数字,后面数据转换不报错就break跳出while循环,如果有帮助到你望采纳