当前位置: 首页 > 知识库问答 >
问题:

对象没有属性get[重复]

卢聪
2023-03-14

我工作的tkinter模块在python 3.3我是相对较新的,这是与条目框工作。有人能给我解释一下为什么吗?我做了一个类似的程序,只有一个条目运行良好。

from tkinter import *
master =Tk()
class quad(object):
def __init__(self, ae, be, ce):
    self.ae = ae
    self.be = be
    self.ce = ce

def calculate(self):
    a = self.ae.get()
    b = self.be.get()
    c = self.ce.get()
    A = float(a)
    B = float(b)
    C = float(c)
    D = (-B)/(2*A)
    E = ((B**2 -4*A*C)**(.5))/(2*A)
    first = D + E
    second = D - E
    print(first, "\n", second)
Label(master, text='A=').grid(row=0, column=0)
Label(master, text='B=').grid(row=1, column=0)
Label(master, text='C=').grid(row=2, column=0)      
ae = Entry(master).grid(row=0, column=1)
be = Entry(master).grid(row=1, column=1)
ce = Entry(master).grid(row=2, column=1)
model =quad(ae, be, ce)
Button(master, text='submit', width=10, command=model.calculate).grid(row=3, column=1, sticky=W)
mainloop()

共有1个答案

通远
2023-03-14

仔细看一下错误消息:它说了什么?它准确地告诉你问题是什么。它甚至会告诉你电话号码。

AttributeError:“非类型”对象没有属性“get”

注意它说的'NoneType'?这意味着某些变量是No,即使您认为它是其他东西。显然,No没有名为get的方法。所以,你必须问自己,为什么是

您没有在问题中显示它,但是错误可能发生在ae变量上(也发生在bece变量上)。所以问题是,为什么他们

它们是No的原因是您将它们设置为这样:

ae=入口(主)。网格(行=0,列=1)

在python中,当您执行x=a()时。b(),x获取b()的值。因此,您将ae设置为网格的值(…) 语句,网格语句始终返回None

解决方案是将小部件创建与布局分开,这通常是一个很好的实践,即使您不需要保存对GUI小部件的引用:

ae = Entry(...)
be = Entry(...)
ce = Entry(...)
...
ae.grid(...)
be.grid(...)
ce.grid(...)

 类似资料:
  • 我在使用tkinter时遇到了一些麻烦,问题是没有方法可以处理小部件文本。这是我的密码 它返回错误: AttributeError:“非类型”对象没有属性“get” 这让我很生气!我对任何文本的方法都有问题

  • 我已经向Digital ocean表示歉意,在登台(Heroku服务器)上,应用程序运行良好,但Digitale ocean失败了,错误如下,可能是什么问题:

  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 问题:我在运行下面的代码时出错。我是新手,不知道如何解决这个问题。creae函数将每个坐标点指定给其自治区。

  • 我的模型里有这些课程。派克 因为我想"子"字段在"地址"模型只显示"子"对象是相关的"父"我写了这段代码到我的forms.py 意见。派克 结果:子字段仅显示与请求的父对象相关的子对象。这正是我想要的。 问题:当我提交我得到这个错误: 位于/manage/add_address/'str'对象的AttributeError没有属性'get' 回溯: 文件"/库/框架/Python.framewor

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建