检查Tkinter条目中的输入类型

2024-09-30 20:17:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我对程序的这一部分有问题。我必须把数据写入Tk.入口,但如果我写字母(a,z,R,K…),它就会崩溃。我不能使用字符串,因为我需要INT(或FLOAT)形式的输入,因为我需要输入进行进一步的计算。我如何检查输入TK.入口不包含字母,但仅包含数字(1…9,0)(或点(.))。谢谢您。在

注:请不要评估我的代码,我知道它很糟糕:-)

import Tkinter as Tk
main=Tk.Tk()
main.minsize(440,330)
hl=Tk.Frame(main)
hl.pack()
def lichobobsvyp(*par):
    main.title('Obsah lichoběžníku - Výpočet')
    Tk.Label(hl, text ='Obsah lichoběžníku - Výpočet', font ='Arial 15').pack()
    rlichobobsa = Tk.LabelFrame(hl, text ='Strany A')
    rlichobobsa.pack()
    hlichobobsa = Tk.Entry(rlichobobsa, textvariable =thlichobobsa)
    hlichobobsa.pack()
    Tk.Button(hl, text ='Ok', command = lambda: destroy(lichobobsvysl)).pack()
def lichobobsvysl(*par):
    dlichobobsa = float(thlichobobsa.get())
def destroy(x,*par):
    for wid in hl.winfo_children():
        wid.destroy()
    x()
    return
thlichobobsa=Tk.DoubleVar()
lichobobsvyp()
main.mainloop()   

Tags: textmaindef字母hlpacktkku