pyhton tkinter库如何设置文本框中只能输入数字(int或者float)

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循环,如果有帮助到你望采纳