print("用户名是:%s\n 密码是:%s" % (u1.get(),p1.get()))
因为你这个的代码tk.Entry(root,textvariable=u1)创建输入框后直接调用.grid(row=1,column=1) 返回赋值给accountE 的是grid()方法的返回值,而不是tk.Entry()创建的输入框对象。 grid()方法没有返回值,会返回None赋值给accountE。 None自然不能调用.get()了改成这样就好了accountE=tk.Entry(root,textvariable=u1)accountE.grid(row=1,column=1)pwdE=tk.Entry(root,show="*",textvariable=p1)pwdE.grid(row=2,column=1,pady=10)
from tkinter import*
import tkinter as tk
def printinfo():
print("用户名是:%s\n 密码是:%s" % (accountE.get(),pwdE.get()))
root=tk.Tk()
root.title("获取文本框中的内容用.get()方法!")
accountL=Label(root,text="用户名:").grid(row=1)
pwdL=Label(root,text="密码:").grid(row=2)
u1=tk.StringVar()
p1=tk.StringVar()
accountE=tk.Entry(root,textvariable=u1)
accountE.grid(row=1,column=1)
pwdE=tk.Entry(root,show="*",textvariable=p1)
pwdE.grid(row=2,column=1,pady=10)
loginBtn=Button(root,text="登录",command=lambda :printinfo())
loginBtn.grid(row=3,column=0)
quitBtn=Button(root,text="退出",command=root.quit)
quitBtn.grid(row=3,column=1)
root.mainloop()