Python 正在验证数字、浮点数和某些运算符的Tkinter条目

Python 正在验证数字、浮点数和某些运算符的Tkinter条目,python,python-3.x,tkinter,tkinter-canvas,tkinter-entry,Python,Python 3.x,Tkinter,Tkinter Canvas,Tkinter Entry,我是一个新手,如果我表现出一些愚蠢,请不要理我! 我正在尝试创建一个tkinter计算器。在我的输入框中,我试图验证数字、浮点数、一些运算符,如+、-、*、/ 我写了这段代码,但它不接受任何条目,甚至是数字。 你能更正这个代码吗 验证功能:- def correct(inp): if inp.isdigit(): return True elif inp is "": return True else:

我是一个新手,如果我表现出一些愚蠢,请不要理我! 我正在尝试创建一个tkinter计算器。在我的输入框中,我试图验证数字、浮点数、一些运算符,如+、-、*、/

我写了这段代码,但它不接受任何条目,甚至是数字。 你能更正这个代码吗

验证功能:-

def correct(inp):
    if inp.isdigit():
        return True
    elif inp is "":
        return True
    else:
        return False
mainFrame = Frame(bg='#c7ecee', width=1580, height=400)
resultFrame = Frame(mainFrame, bg='#badc58')
mainFrame.pack_propagate(False)
mainFrame.pack(pady=30)
resultFrame.place(x=710, y=260)

result = Entry(resultFrame, font=(
    "Segoe UI bold", 56), bg='#E6E6E6', bd=0, justify=RIGHT, )#insertontime=0
result.focus_set()
reg = root.register(correct)
result.config(validate="key", validatecommand=(reg, '%p'))
result.pack()
我的输入框:-

def correct(inp):
    if inp.isdigit():
        return True
    elif inp is "":
        return True
    else:
        return False
mainFrame = Frame(bg='#c7ecee', width=1580, height=400)
resultFrame = Frame(mainFrame, bg='#badc58')
mainFrame.pack_propagate(False)
mainFrame.pack(pady=30)
resultFrame.place(x=710, y=260)

result = Entry(resultFrame, font=(
    "Segoe UI bold", 56), bg='#E6E6E6', bd=0, justify=RIGHT, )#insertontime=0
result.focus_set()
reg = root.register(correct)
result.config(validate="key", validatecommand=(reg, '%p'))
result.pack()

请对您的代码进行以下更正:
result.config(validate=“key”,validatecommand=(reg,'%P'))
。请注意,我使用了
%P
而不是
%P
@AST谢谢sir您做了哪些调试工作?您是否验证了
inp
是您所期望的?这是否回答了您的问题?