from tkinter import *
root = Tk()
frame = Frame(root)
frame.pack(padx = 10, pady = 10)
v1 = StringVar
v2 = StringVar
v3 = StringVar
def test(content):
if content.isdigit():
return True
else:
return False
testCMD = root.register(test)
Entry(frame,textvariable = v1, width = 10, validate = "key",\
validatecommand = (testCMD,'%P')).grid(row=0,column =0)
Label(frame,text = "+").grid(row = 0, column =1)
Entry(frame,textvariable = v2, width = 10, validate = "key",\
validatecommand = (testCMD,'%P')).grid(row=0,column =2)
Label(frame,text = "=").grid(row = 0, column =3)
Entry(frame,textvariable = v1, width = 10, validate = "key",\
validatecommand = (testCMD,'%P')).grid(row=0,column =4)
def calc():
result = int(v1.get()) + int(v2.get())
v3.set(result)
Button(frame,text ="jisuanjieguo",command = calc).grid(row=1,column=2,pady=5)
mainloop()
#TODO get(), 为什么会提示少一个参数啊!!!!!!!
报错信息如下:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Ataway\AppData\Local\Programs\Python\Python37-32\lib\tkinter__init__.py", line 1705, in call
return self.func(*args)
File "D:/py/AboutExcel/Tkinter_9_Entry_5_计算器.py", line 26, in calc
result = int(v1.get()) + int(v2.get())
TypeError: get() missing 1 required positional argument: 'self'