Python桌面开发——三

阅读本文大概需要 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桌面开发又前进一步,给自己三分钟操作一番,体验一下开发的乐趣,后续会进一步学习桌面开发,让窗口更加丰富。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180911G1XVBA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券