Tkinter 无法在单击按钮时获取函数值

Tkinter can't get values to the function on button click

所以,我尝试从输入 (3) 中获取值,并在单击按钮时将它们传递给函数。

这是我现在拥有的:

Label(self.master, text="Name").grid(row=0, sticky=W)
    Label(self.master, text="Username").grid(row=1, sticky=W)
    Label(self.master, text="Email").grid(row=2, sticky=W)

    self.e_name = Entry(self.master).grid(row=0, column=1)
    self.e_username = Entry(self.master).grid(row=1, column=1)
    self.e_email = Entry(self.master).grid(row=2, column=1)

    Button(self.master, text="Login", command=self.login_client).grid(row=3, column=1, sticky=E)

以及函数:

def login_client(self):
    print(self.e_name.get())

现在,我收到此错误:AttributeError: 'NoneType' object has no attribute 'get'...

文件的完整代码可以在这里找到:https://gist.github.com/RosiersRobin/343c0194fde2e8e3184f24cb5aecac28

我只想在函数中给出用户的输入 login_client

您的问题是 .grid() 电话。网格 returns None,因此 self.e_name 将是 None。只需将这些行更改为这些行:

self.e_name = Entry(self.master)
self.e_name.grid(row=0, column=1)
self.e_username = Entry(self.master)
self.e_username.grid(row=1, column=1)
self.e_email = Entry(self.master)
self.e_email.grid(row=2, column=1)