获取追踪和AttributeError异常:'NoneType'对象有没有属性'得到' [英] Getting traceback and AttributeError: 'NoneType' object has no attribute 'get'

查看:2460
本文介绍了获取追踪和AttributeError异常:'NoneType'对象有没有属性'得到'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我试图让使用Tkinter的和python一个简单的计算器程序。我有一些普通code下来加法和减法,但我得到这个错误。请指教,在code下面写的。

 异常在Tkinter的回调
回溯(最近通话最后一个):
  文件C:\\ Python32 \\ lib目录\\ Tkinter的\\ __ init__.py,1399线,在__call__
    返回self.func(*参数)
  文件C:\\用户\\ ** \\工作区\\ calcApp \\ calcApp \\ guiCalc.py,第21行,在numClick
    输入= INT(entry.get())
AttributeError异常:'NoneType'对象有没有属性'得到'

guiCalc.py

 从Tkinter的进口*一流的计算:
 高清的init():  根= TK()
  root.wm_title(计算器)  输入= 0
  瓦兰= STRINGVAR()
  瓦林=
  LabelText的= STRINGVAR()
  ANS =
  ANS2 =  进入=输入(根).grid()  高清numClick():
   输入= INT(entry.get())
   entry.delete(0,END)
  高清equalClick():
   如果(entry.get()==+):
    ANS =输入+ INT(entry.get())
    label.configure(文= ANS)
   如果(entry.get()== - ):
    ANS2 =输入INT(entry.get())
    label.configure(文= ANS2)  按钮(根,文本=+,命令= numClick).grid()
  按钮(根,文本= - ,命令= numClick).grid()
  按钮(根,文本==,命令= equalClick).grid()  标签=标签(根,文本=)
  label.grid()
  root.mainloop()Calc.init()


解决方案

 项=输入(根).grid()

输入在这里,因为电网没有按T返回任何东西。也许你的意思做:

 项=输入(根)
entry.grid()

So I am trying to make a simple calculator program using Tkinter and python. I have some general code down for addition and subtraction but am getting this error. Please advise, the code is written below.

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python32\lib\tkinter\__init__.py", line 1399, in __call__
    return self.func(*args)
  File "C:\Users\**\workspace\calcApp\calcApp\guiCalc.py", line 21, in numClick
    input = int(entry.get())
AttributeError: 'NoneType' object has no attribute 'get'

guiCalc.py:

from tkinter import *

class Calc:
 def init():

  root = Tk()
  root.wm_title("Calculator")

  input = 0
  varIn = StringVar()
  varIn = ""
  labelText = StringVar()
  ans = ""
  ans2 = ""

  entry = Entry(root).grid()

  def numClick():
   input = int(entry.get()) 
   entry.delete(0, END)   


  def equalClick():
   if(entry.get()=="+"):
    ans = input + int(entry.get())
    label.configure(text=ans)
   if(entry.get()=="-"):
    ans2 = input-int(entry.get())
    label.configure(text = ans2)

  Button(root, text="+", command=numClick).grid()    
  Button(root, text="-", command=numClick).grid()
  Button(root, text="=", command =equalClick).grid()

  label = Label(root, text="")
  label.grid()
  root.mainloop()



Calc.init()

解决方案

entry = Entry(root).grid()

entry is None here, because grid doesn't return anything. Perhaps you meant to do:

entry = Entry(root)
entry.grid()

这篇关于获取追踪和AttributeError异常:'NoneType'对象有没有属性'得到'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆