Entry控件的作用是在键盘输入的文本信息,它的语法格式如下:
my_entry=Entry(容器,可选项)
容器即内容放入的位置,可选项和上一节我们学习提到的Button中的可选项类似, 可选择的有:
删除first-last中的所有内容,如果使用delete(0,END)则删除输入框的所有内容。
获取输入框内的所有内容。
移动光标到index参数的位置。
返回index参数对应的序号。
把text参数中的内容插入到索引为index的位置。
清空文本框。
设置文本框链接的水平滚动条。
我们通过实例来使用一下Entry控件。
importtkinterwin=tkinter.Tk()Frame_one=tkinter.Frame(win)#先创建一个容器放上面存放登录Frame_one.pack(side='top')Frame_two=tkinter.Frame(win)#再创建一个容器放中间存放密码Frame_two.pack()Frame_three=tkinter.Frame(win)#再创建一个容器在下面存放按钮Frame_three.pack(side='bottom')Label_one=tkinter.Label(Frame_one,text='姓名:')Lable_two=tkinter.Label(Frame_two,text='密码:')Entry_one=tkinter.Entry(Frame_one,bd=5)Entry_two=tkinter.Entry(Frame_two,bd=5)Button_one=tkinter.Button(Frame_three,text='登录',activeforeground='red',activebackground='yellow',width='7')Button_one.pack(side='left')Button_two=tkinter.Button(Frame_three,text='注册',activeforeground='blue',activebackground='pink',width='7')Button_two.pack(side='right')Label_one.pack(side='left')Entry_one.pack(side='right')Lable_two.pack(side='left')Entry_two.pack(side='right')win.mainloop()
输出结果为:
我们首先在窗口中放置了三个容器,从上到下依次存放姓名、密码和按钮,然后再姓名后面放一个Entry控件,供我们输入姓名,在密码对应的后面放一个Enrty控件来输入密码,最后在下面放两个按钮分别提供登录和注册,最后我们把他们的位置放在左右一一对应。
我们再通过函数的绑定来测试登录信息。
importtkinterastkimporttkinter.messageboxwin=tk.Tk()frame_name=tk.Frame(win)#创建容器来存放登陆的Label(文本框)与Entry(输入框)frame_name.pack(side=top)#使该容器在页面的顶部label_name=tk.Label(frame_name,text=YourName:)label_name.pack(side=left)entry_name=tk.Entry(frame_name,bd=5)entry_name.pack(side=right)#在容器内创建Label与Entry,并使label在左,entry在右#下面的同理:frame_password=tk.Frame(win)frame_password.pack()label_password=tk.Label(frame_password,text=YourPassword:)label_password.pack(side=left)entry_password=tk.Entry(frame_password,bd=5)entry_password.pack(side=right)deflogin():ifentry_name.get()==qy:ifentry_password.get()==dotcpp:print(tkinter.messagebox.showinfo(login,Success!))else:print(tkinter.messagebox.showerror(login,Failed!))entry_name.delete(0,end)entry_password.delete(0,end)else:print(tkinter.messagebox.showerror(login,Failed!))entry_name.delete(0,end)entry_password.delete(0,end)defsignin():print(tkinter.messagebox.showerror(signin,WithoutCode!))#必须先定义函数,否则点击按钮调用函数时会报函数不存在的错误frame_button=tk.Frame(win)#创建容器以存放按钮frame_button.pack(side=bottom)#使该容器位于页面最下方button_login=tk.Button(frame_button,text=login,activeforeground=red,activebackground=yellow,width=7,command=login#command的意思是执行已定义的函数,不可执行下文中出现的函数(未定义的函数))button_login.pack(side=left)#下面的同理:button_signin=tk.Button(frame_button,text=signin,activeforeground=blue,activebackground=pink,width=7,command=signin,)button_signin.pack(side=right)win.mainloop()
输出的界面为:
当我们输入qy和dotcpp时如下:
如果输入其他内容显示如下: