阅读本文大概需要 5 分钟
前言
大家好,这里是『乐创战队』。从今天起,我会不断更新python相关的知识,这个过程既能教会别人,也是自己对Python知识的复习巩固。喜欢的朋友可以点赞,话不多说,开始今天的知识点。
今天我们要完成上图样式的登录程序,是不是有点迫不及待了
首先,我们做好pack()布局的相关知识
b1 = Button(py,text =" 乐创战队")
b1["width"] = 20
b1["height"] = 4
b1.pack()
利用宽度和高度的参数,调节信息在窗口的大小,我们最后可以完成下图效果
我们已经接触过pack布局,它用起来非常简单,不用做太多的设置。使用pack函数时,它会默认将先使用的放到上面,同时它也可以接受几个参数
side 参数指定了它停靠在哪个方向,LEFT,TOP,RIGHT,BUTTOM,分别代表左上右下
fill 参数可以是X,Y,BOTH,NONE,即水平填充,竖直填充,两边均填充,都不填充
expand 参数可以是YES NO它的anchor参数可以是N,E,W,S,代表上下左右
ipadx 表示内边距的x方向,ipady表示内边距的y方向,padx表示外边距x方向pady表示外边距y方向
我们可以做到下图效果
对于pack布局,就不再多说了。接下来我们来说另外一种高端布局。
grid 布局
grid布局更适用于网格布局,不仅继承pack的参数,还有自身具有的参
数row,column,代表行和列,sticky参数,可以用N,E,S,W代表方向,话不多说,我们直接上代码做分析。
代码
1from tkinter import *
2def reg():
3myAccount = a_entry.get()# 获取用户输入的用户名
4myPassword = p_entry.get()#获取用户输入的密码
5a_len = len(myAccount)#获取输入的用户名长度
6p_len = len(myPassword)#获取输入的密码长度
7
8if myAccount =="itcast"and myPassword =="python":
9msg_label["text"] ="登陆成功"
10elif myAccount =="itcast"and myPassword !="python":
11msg_label["text"] ="密码错误"
12p_ent
13ry.delete(0,p_len)
14else:
15msg_label["text"] ="用户名名错误"
16a_entry.delete(0,a_len)
17p_entry.delete(0,p_len)
18root = Tk()
19root.title("乐创战队")
20#用户名
21a_label = Label(root,text ="用户名:")
22a_label.grid(row = 0,column = 0,sticky = W)
23a_entry = Entry(root)
24a_entry.grid(row = 0, column = 1,sticky = E)
25#密码
26p_label = Label(root,text ="密码:")
27p_label.grid(row = 1,column = 0,sticky = W)
28p_entry = Entry(root)
29p_entry["show"] ="*"#密码显示为*
30p_entry.grid(row = 1,column = 1,sticky = E)
31#登录按钮
32b = Button(root,text="登录",command = reg)
33b.grid(row = 2,column = 1,sticky = E)
34#提示信息
35msg_label = Label(root,text ="")
36msg_label.grid(row = 3)
37root.mainloop()
说明:此处设置用户名“乐创战队”,密码“Python”,如果输入正确,点击“登录”显示“登陆成功”,如果输入不正确,则会通过分析,显示“同户名错误”或“密码错误”,并清空输入框。
代码解读
可能看着代码比较繁琐,细细分析都是罗辑思维。
首先设置一个回调函数reg()
然后设置输入参数,entry即输入框
通过逻辑思维,一步步写出代码执行的步骤
利用row,column,sticky,对输入框和文字信息进行布局
特别设置show属性,使密码框输入内容显示为*
最后root.main()让窗口循环接收下一个事件。
写在后面
至此,python桌面开发又前进一步,给自己三分钟操作一番,体验一下开发的乐趣,后续会进一步学习桌面开发,让窗口更加丰富。
领取专属 10元无门槛券
私享最新 技术干货