尝试tkinter条目验证时出现textvariable错误

时间:2019-08-24 03:49:01

标签: python-3.x tkinter

我正在尝试仅为整数创建一个条目验证代码。 当我运行程序时,出现以下错误

  

“ TypeError: init ()获得了多个关键字参数值   'textvariable'“

这是为python-3 香港专业教育学院尝试了一些方法,如try函数和if语句,但它们都不适合我,我对python还是很陌生。

我在reddit上发现了很多代码,该代码也可以完成我想要的一切,但我只是无法实现它,我真的不知道该代码如何验证数据

我只希望能够运行程序,仅输入一个整数并将其存储为varWaterNum变量 PS:我确实知道from tkinter import*是惰性代码,我只是测试了一部分代码

from tkinter import*

class Lotfi(Entry):
    def __init__(self, master=None, **kwargs):
        self.var = StringVar()
        Entry.__init__(self, master, textvariable=self.var, **kwargs)
        self.old_value = ''
        self.var.trace('w', self.check)
        self.get, self.set = self.var.get, self.var.set

    def check(self, *args):
        if self.get().isdigit(): 
            # the current value is only digits; allow this
            self.old_value = self.get()
        else:
            # there's non-digit characters in the input; reject this 
            self.set(self.old_value)

#demo:
window = Tk()
From_entry=Lotfi(window, width=25)
From_entry.grid(column=1,row=2,padx=5)

varWaterNum= IntVar()

NumWater= Lotfi(window,width=6, textvariable=varWaterNum)
NumWater.grid(row=1,column=1,sticky=W)

window.mainloop()

我希望该窗口具有2个输入框,但仅弹出1个,这会给我输入框textvariable的错误提示

0 个答案:

没有答案