乘号 发表于 2020-4-9 17:15:30

计算器报错

from tkinter import *

root = Tk()

frame = Frame(root)
frame.pack(padx=10,pady=10)

v1 = StringVars()
v2 = StringVars()
v3 = StringVars()

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=(textCMD,'%P')).gird(row=0,column=2)

Label(frame,text="=").gird(row=0,column=3)

Entry(farme,textvariable=v3,width=10,validate="key",\
      validatecommand=(textCMD,'%P')).gird(row=0,column=4)

def calc():
    result = int(v1.get()) + int(v2.get())
    v3.set(result)

Button(frame,text="计算结果",command=calc).grid(row=1,column=2,pady=5)

mainloop()


报错信息:
Traceback (most recent call last):
File "C:\Users\cilu\Desktop\备用\备用(2).py", line 8, in <module>
    v1 = StringVars()
NameError: name 'StringVars' is not defined

zltzlt 发表于 2020-4-9 17:16:00

不是 StringVars,是 StringVar

乘号 发表于 2020-4-9 17:22:31

zltzlt 发表于 2020-4-9 17:16
不是 StringVars,是 StringVar

啊啊啊还有好多个bug{:10_266:}

zltzlt 发表于 2020-4-9 17:24:35

你确定你的变量名都写对了??

粗看几眼就发现了问题

Entry(farme,textvariable=v3,width=10,validate="key",\
      validatecommand=(textCMD,'%P')).gird(row=0,column=4)

乘号 发表于 2020-4-9 17:55:04

zltzlt 发表于 2020-4-9 17:24
你确定你的变量名都写对了??

粗看几眼就发现了问题


我查出了6个bug{:10_250:}
页: [1]
查看完整版本: 计算器报错