Python 为什么我不能在tkinter中使用get属性? 从tkinter导入* root=Tk() 根几何(“850x900”) def pri(): user=e.get() 打印(用户) e=条目(根).pack() b=按钮(root,text=“Submit”,command=pri).pack() root.mainloop()

Python 为什么我不能在tkinter中使用get属性? 从tkinter导入* root=Tk() 根几何(“850x900”) def pri(): user=e.get() 打印(用户) e=条目(根).pack() b=按钮(root,text=“Submit”,command=pri).pack() root.mainloop(),python,tkinter,tkinter-entry,Python,Tkinter,Tkinter Entry,运行此代码时,出现以下错误: “AttributeError:'非类型'对象没有属性'get'” 问题在于,您试图将不返回任何内容的函数的结果(pack)赋给变量。您可以首先将条目小部件分配给变量e,然后打包。以下代码起作用: from tkinter import * root = Tk() root.geometry("850x900") def pri(): user = e.get() print(user) e=Entry(root) e.pack

运行此代码时,出现以下错误:

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


问题在于,您试图将不返回任何内容的函数的结果(
pack
)赋给变量。您可以首先将
条目
小部件分配给变量
e
,然后打包。以下代码起作用:

from tkinter import *

root = Tk()
root.geometry("850x900")
def pri():
    user = e.get()
    print(user)
e=Entry(root)
e.pack()
Button(root, text = "Submit", command=pri).pack()
root.mainloop()

在定义条目
e
之前,先定义函数
pri
。您必须最后定义函数。“非类型”表示对象
e
尚未定义。非常感谢worked@Sioul-如果此答案解决了您的问题,则您需要接受它(即单击答案左侧的灰色大复选标记)。