image.png
今天主要学习Entry的使用;
1、Entry的创建跟其他一样使用
self.entry01 = Entry(self,textvariable=v1)
2、但一般的这个单行的输入框,我们还想获得他的值,就需要使用一个变量进行配套;
#StringVar 变量绑定到指定的组件
#StringVar 变量的值发生变化,组件内容也变化;
#组件内容发生变化,StringVar 变量的值也发生变化;
v1 = StringVar()
self.entry01 = Entry(self,textvariable=v1)
self.entry01.pack()
v1.set("admin")
print(v1.get());
print(self.entry01.get())
要注意这里当V1的值变化,entry01的值也会变化。同理当entry01的值变化在v1变量中也会产出变化;这个也是今天最重要知识点之一。
3、当输入时是密码,不想让别人看到,使用来代替,我们需要创建时将show=""
self.entry02 =Entry(self,textvariable=v2,show="*")
同时回复以下几个小小的知识点:
4、比较使用== ,比如在if的语句;或在for语句中,赋值使用=;
5、messagebox.showinfo的使用。
from tkinterimport *
from tkinterimport messagebox
class Application(Frame):
def __init__(self,master=None):
super().__init__(master)
self.master = master
self.pack()
self.createWidget()
def createWidget(self):
"""创建登录界面的组件"""
self.label01 = Label(self,text="用户名")
self.label01.pack()
#StringVar 变量绑定到指定的组件
#StringVar 变量的值发生变化,组件内容也变化;
#组件内容发生变化,StringVar 变量的值也发生变化;
v1 = StringVar()
self.entry01 = Entry(self,textvariable=v1)
self.entry01.pack()
v1.set("admin")
print(v1.get());
print(self.entry01.get())
#创建密码框
self.label02 =Label(self,text="密码")
self.label02.pack()
v2=StringVar()
self.entry02 =Entry(self,textvariable=v2,show="*")
self.entry02.pack()
#创建按钮
Button(self,text="登录",command=self.login).pack()
def login(self):
username =self.entry01.get()
pwd =self.entry02.get()
print("去数据库比对用户名和密码")
print("用户名:"+username)
print("密码:"+pwd)
if username =="edwin" and pwd =="123456":
messagebox.showinfo("Gui 学习系统","登录成功!欢迎开始学习!")
else:
messagebox.showinfo("Gui 学习系统","登录失败!欢迎开始学习!")
if __name__=="__main__":
root=Tk()
root.geometry("600x330+200+300")
app = Application(master=root)
root.mainloop()