【问题标题】:'NoneType' object has no attribute 'get' in python little program [duplicate]'NoneType'对象在python小程序中没有属性'get'[重复]
【发布时间】:2020-03-10 11:41:23
【问题描述】:

当我按下它创建的按钮时,此代码运行但崩溃。这是我的第一篇文章,所以如果您有提示或需要更多信息,请发表评论。 程序应该将盒子的变量保存在全局变量中。但是当我尝试按下按钮时发生错误。

from tkinter import *

finestra1 = Tk()
finestra1.title("Prima Finestra")

testo1 = Label(finestra1, text ="Inserire modello infissi").grid(row=0, column=0)
spazioinput1 = Entry(finestra1, width=10, borderwidth=5).grid(row=0, column=1)
testo2= Label(finestra1, text ="Inserire numero finestre").grid(row=1, column=0)
spazioinput2 = Entry(finestra1, width=10, borderwidth=5).grid(row=1, column=1)
testo3= Label(finestra1, text ="Inserire numero balconi").grid(row=2, column=0)
spazioinput3 = Entry(finestra1, width=10, borderwidth=5).grid(row=2, column=1)


def primobottone():
    # global modelloinfissi
    global numerofinestre
    global numerobalconi
    modelloinfissi = spazioinput1.get()
    numerofinestre = int(spazioinput3.get())
    numerobalconi = int(spazioinput2.get())
    Label(finestra1, text="Modello: " +modelloinfissi +" \nnumero: "+ numerobalconi+numerofinestre)



bottone1 = Button(finestra1, text= "Avanti", command = primobottone).grid(row=3)
finestra1.mainloop()

我遇到的错误:

Error:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/__init__.py", line 1883, in __call__
    return self.func(*args)
  File "/Users/salvatorefroncillo/Desktop/progetto/progetto.py", line 18, in primobottone
    modelloinfissi = spazioinput1.get()
AttributeError: 'NoneType' object has no attribute 'get'

【问题讨论】:

    标签: python tkinter compiler-errors


    【解决方案1】:

    Entry.grid() 返回None,所以在这一行之后:

    spazioinput1 = Entry(finestra1, width=10, borderwidth=5).grid(row=0, column=1)
    

    您的spazioinput1 确实是None。您需要将其拆分为两个语句:

    spazioinput1 = Entry(finestra1, width=10, borderwidth=5)
    spazioinput1.grid(row=0, column=1)
    

    当然,对你所有的小部件都做同样的事情......

    【讨论】:

    • 谢谢,我没有问题地解决了这个问题。再次非常感谢
    猜你喜欢
    • 2015-01-01
    • 1970-01-01
    • 2016-09-20
    • 2019-05-21
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多