在将框架用于标签和按钮之前,我尝试过使用get方法。但是在使用框架后,它总是返回属性错误。
我已经尝试了这段没有框架的代码,它完美地返回了。
root = Tk()
head = Label(root, text='LOGIN', font=('', 35), pady=10)
head.pack()
logf = Frame(root, padx=90, pady=90)
Label(logf, text='Username: ', font=('', 20), pady=5, padx=5).grid(sticky=W)
e1 = Entry(logf, bd=5, font=('Calibri', 15)).grid(row=0, column=1)
Label(logf, text='Password: ', font=('', 20), pady=5, padx=5).grid(sticky=W)
e2 = Entry(logf, bd=5, font=('Calibri', 15), show='*').grid(row=1, column=1)
Button(logf, text=' Quit ', bd=3, font=('', 15), padx=5, pady=5, command=root.quit).grid()
Button(logf, text=' Login', bd=3, font=('', 15), padx=5, pady=5, command=update).grid(row=2,column=1)
logf.pack()
username=("%s"%((e1.get())))
password=("%s"%((e2.get())))
我应该在变量中获取用户名和密码的值。
答案 0 :(得分:0)
您需要在下一行放置.grid()。
root = Tk()
head = Label(root, text='LOGIN', font=('', 35), pady=10)
head.pack()
logf = Frame(root, padx=90, pady=90)
Label(logf, text='Username: ', font=('', 20), pady=5, padx=5).grid(sticky=W)
e1 = Entry(logf, bd=5, font=('Calibri', 15))
e1.grid(row=0, column=1)
Label(logf, text='Password: ', font=('', 20), pady=5, padx=5).grid(sticky=W)
e2 = Entry(logf, bd=5, font=('Calibri', 15), show='*')
e2.grid(row=1, column=1)
Button(logf, text=' Quit ', bd=3, font=('', 15), padx=5, pady=5, command=root.quit).grid()
Button(logf, text=' Login', bd=3, font=('', 15), padx=5, pady=5, command=update).grid(row=2,column=1)
logf.pack()
username=("%s"%((e1.get())))
password=("%s"%((e2.get())))
此:
e2 = Entry(logf, bd=5, font=('Calibri', 15), show='*').grid(row=1, column=1)
将e2设置为.grid()的返回值,什么也没有。这根本不会创建输入字段变量/引用。这意味着稍后将无法使用e2.get()获得输入字段的值,因为e2引用不存在。
此:
e2 = Entry(logf, bd=5, font=('Calibri', 15), show='*')
e2.grid(row=1, column=1)
创建e2变量/引用。这样创建条目的方式就是您可以使用e2.get()在输入字段中获取值。