这是我的代码的一部分,我试图从Entry bf获取值,但是当我运行它时,它表明:“ AttributeError:'NoneType'对象没有属性'get'”。有谁知道为什么会这样?
代码:
from tkinter import *
window = Tk()
window.geometry("650x450+500+300")
def Calcular():
print("teste")
print(bf.get())
Geom = LabelFrame(window, text = "Dados Geométricos", font="Arial 12", width=200)
Geom.place(x=290, y=10)
Label(Geom, text ="bf: ", font="Arial 12").grid(column=0, row=0, sticky=E)
Label(Geom, text =" cm", font="Arial 12").grid(column=2, row=0, sticky=W)
bf = Entry(Geom, width=5, justify= RIGHT, font="Arial 12").grid(column=1, row=0)
btnCalcular = Button(window, text="Calcular", font="Arial 12", command=Calcular)
btnCalcular.place(x=50, y=180, width = 150)
window.mainloop()
答案 0 :(得分:1)
在2中拆分以下行:
bf = Entry(Geom, width=5, justify= RIGHT, font="Arial 12").grid(column=1, row=0)
像这样
bf = Entry(Geom, width=5, justify= RIGHT, font="Arial 12")
bf.grid(column=1, row=0)
目前bf
不是Entry小部件,而是None
从grid()
返回的
另外请注意,通常您会使用变量,例如IntVar,即绑定到条目小部件
答案 1 :(得分:1)
bf = Entry(Geom, width=5, justify= RIGHT, font="Arial 12")
bf.grid(column=1, row=0)
NoneType的原因是由于您的代码中返回的网格类型为column(column = 1,row = 0)。