Entry组件就是输入框:
例如程序要输入帐号密码,那么它就需要提供两个输入框给你
最简单的输入框显示:
from tkinter import *
root = Tk()
e = Entry(root)
e.pack(padx=20, pady=20)
e.delete(0, END)
e.insert(0, "默认文本...")
mainloop()
运行:
获取输入框中的内容,使用Entry组件的get()方法
看例子,单击按钮时,获得输入框中的内容并打印出来,然后清空输入框:
from tkinter import *
root = Tk()
Label(root,text="作品:").grid(row=0, column=0)
Label(root,text="作者:").grid(row=1, column= 0)
e1 = Entry(root)
e2 = Entry(root)
e1.grid(row=0, column=1, padx=10, pady=5)
e2.grid(row=1, column=1, padx=10, pady= 5)
def show():
print("作品:《%s》" % e1.get())
print("作品:%s" % e2.get())
e1.delete(0,END)
e2.delete(0,END)
Button(root, text="获取信息", width=10, command=show)\
.grid(row=3, column=0, sticky=W, padx=10, pady=5)
Button(root, text="退出", width=10, command=root.quit)\
.grid(row=3, column=1, sticky=E, padx=10, pady= 5)
mainloop()
运行:
如果想设计一个密码输入框,即需要用*代替输入的内容,只需要设置show选项
from tkinter import *
root = Tk()
Label(root, text="账号:").grid(row=0, column=0)
Label(root, text="密码:").grid(row=1, column=0)
v1 = StringVar()
v2 = StringVar()
e1 = Entry(root, textvariable=v1)
e2 = Entry(root, textvariable=v2, show="*")
e1.grid(row=0, column=1, padx=10, pady=5)
e2.grid(row=1, column=1, padx=10, pady=5)
def show():
print("账号:%s" % e1.get())
print("密码:%s" % e2.get())
Button(root, text="注册", width=10, command=show)\
.grid(row=3, column=0, sticky=W, padx=10, pady=5)
Button(root, text="退出", width=10, command=root.quit)\
.grid(row=3, column=1, sticky=E, padx=10, pady=5)
mainloop()
运行: