当前位置: 首页 > 图灵资讯 > 行业资讯> Python Tkinter Grid布局管理器用法

Python Tkinter Grid布局管理器用法

发布时间:2025-10-14 17:55:03

很多时候 Tkinter 界面编程将优先使用 Pack 但实际上,布局 Tkinter 后来引入的 Grid 布局不仅简单易用,而且管理组件也非常方便。

Grid 将组件空间分解成网格进行维护,即根据行和列的方式排列组件。组件位置由行号和列号决定。行号相同、列号不同的组件将依次上下排列,列号相同、行号不同的组件将依次左右排列。

使用 Grid 布局过程是为每个组件指定行号和列号的过程,不需要为每个网格指定大小,Grid 布局会自动为它们设置合适的尺寸。

调用组件的程序 grid() 方法就进行 Grid 布局,调用 grid() 该方法支持多个选项可以传入该方法支持的多个选项 ipadx、ipady、padx、pady 与 pack() 这些方法的选项是一样的。而且 grid() 该方法增加了以下选项:

column:指定组件放在哪一列。第一列的索引是 0。

columnspan:指定组件跨越多少列。

row:将指定的组件放入哪条线。第一行的索引是 0

rowspan:指定组件跨越多少行。

sticky:有点类似于 pack() 方法的 anchor 同样支持选项 N(北,代表)、E(东,代表右)、S(南,代表下)、W(西,代表左)、NW(西北,代表左上)、NE(东北,代表右上)、SW(西南,左下)、SE(东南,代表右下)、CENTER(中,默认值)这些值。

使用以下程序 Grid 实现计算器界面的布局:

#Python2.x使用这行
#fromTkinterimport*
#Python3.x使用这行
fromtkinterimport*

classApp:
def__init__(self,master):
self.master=master
self.initWidgets()
definitWidgets(self):
#创建输入组件
e=Entry(relief=SUNKEN,font=('CourierNew',24),width=25)
#输入组件采用Pack布局,放置在容器顶部
e.pack(side=TOP,pady=10)
p=Frame(self.master)
p.pack(side=TOP)
#元组定义字符串
names=("0","1","2","3"
,"4","5","6","7","8","9"
,"+","-","*","/",".","=")
#字符串元组遍历
foriinrange(len(names)):
#创建Button,将Button放入p组件中
b=Button(p,text=names[i],font=('Verdana',20),width=6)
b.grid(row=i//4,column=i%4)
root=Tk()
root.title("Grid布局")
App(root)
root.mainloop()

上述程序实际上使用了两个布局管理器进行嵌套 Pack 两个组件的布局管理是分贝 Entry(输入组件)和 Frame(容器),这两个组件将从上到下排列。

接下来的程序使用 Grid 布局管理 Frame 容器中的 16 按钮,分别将 16 将一个按钮放入不同的行,不同的列。运行上述程序时,可以看到下图所示的界面。

2-1ZF1140302452.gif

相关文章

Python Tkinter Grid布局管理器用法

Python Tkinter Grid布局管理器用法

2025-10-14
Python Tkinter Place布局管理器及用法

Python Tkinter Place布局管理器及用法

2025-10-14
Python之assert断言介绍

Python之assert断言介绍

2025-10-14
Python MySQL callproc方法:调用数据库存储过程

Python MySQL callproc方法:调用数据库存储过程

2025-10-14
Python之可迭代对象、迭代器、生成器

Python之可迭代对象、迭代器、生成器

2025-10-14
什么是线程(多线程),Python多线程的好处

什么是线程(多线程),Python多线程的好处

2025-10-14