python tkinter中的grid布局

697次阅读
没有评论

之前跟大家讲过登录界面是怎么设置的,但是被大家吐槽了一番,原因是因为设置的窗口状态并不好看,大家拿来了公认为比较好看的登录界面,希望可以设置出一样的效果,在python里没有什么是不可能实现的,因此,给大家展示下实现过程,以及给大家介绍下用到的代码功能,一起来看下吧~

grid布局管理器的工作方式就是设想将父窗口空间划分为网格,并在网格中布置控件。

例如如下的小窗口就可以看做一个三行两列的网格。

python

这个画面可以用如下代码构建:

from tkinter import *
root = Tk()
Label(root, text="用户名").grid(row=0, sticky=W)
Label(root, text="密码").grid(row=1, sticky=W)
Entry(root).grid(row=0, column=1, sticky=E)
Entry(root).grid(row=1, column=1, sticky=E)
Button(root, text="Cancel").grid(row=2, column=0, sticky=E)
Button(root, text="Login").grid(row=2, column=1, sticky=E)
root.mainloop()

从代码中可以看出grid方法以供使用了3个参数:

l row:指定控件所在行,缺省值为下一行。

l column:指定控件所在列,缺省值为0

l sticky:可选值包括NW,N,NE,W,E,SW,S,SE。这些值可以理解为地图上的方位,例如NE就是东北。

下图是一个示意图表明每个取值在布局网格中的位置。

python

这些取值也可以组合使用,例如E+W的效果就是水平拉伸空间。当我们如下方式修改生成Login按钮的代码时。

Button(root, text="Login").grid(row=2, column=1, sticky=E+W)

效果展示:

python

好啦,这就是关于grid布局的使用了哦~大家如果也想制作这种网格式样的布局,就可以用到这个函数啦,内容不难,对于大家来说还是比较实际的哦~

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-29发表,共计886字。
新手QQ群:570568346,欢迎进群讨论 Python51学习