421310598 发表于 2020-8-15 16:52:04

ENTER输入验证

try:
      if 0<= float(text) <= 100:# 设置范围为 0~100
            return True
    except:
      showinfo('错误!','你输入的数据有误,只能输入 0~100 的数字!')# 这个可以注释掉
    return False
为什么只能设置0到100的范围10.20的范围设置不了呢??

zltzlt 发表于 2020-8-15 16:52:51

可以呀


try:
      if 10<= float(text) <= 20:# 设置范围为 0~100
            return True
    except:
      showinfo('错误!','你输入的数据有误,只能输入 0~100 的数字!')# 这个可以注释掉
    return False

421310598 发表于 2020-8-15 16:56:27

zltzlt 发表于 2020-8-15 16:52
可以呀

from tkinter import *
from tkinter.messagebox import showinfo

root = Tk()


def judge(text):
    if text == '':
      return True
    try:
      if 10<= float(text)<= 100:# 设置范围为 0~100
            return True
    except:
      showinfo('错误!','你输入的数据有误,只能输入 0~100 的数字!')# 这个可以注释掉
    return False

test = root.register(judge)
Entry(root,validate="key", validatecommand=(test, '%P')).pack()

mainloop()
不行任何数字都不能输入

421310598 发表于 2020-8-15 16:57:26

起始值设0才可以输入数字

zltzlt 发表于 2020-8-15 16:58:11

421310598 发表于 2020-8-15 16:56
from tkinter import *
from tkinter.messagebox import showinfo



这是因为一开始你输入一位数字程序会判断你的数字是否在 10 ~ 100 之间,一位的数字肯定比 10 小,所以返回 False ,输入的数字不会显示在输入框中。

421310598 发表于 2020-8-15 17:00:59

嗯嗯懂了那有解决办法吗??{:5_92:}求解麻烦了
页: [1]
查看完整版本: ENTER输入验证