✨✨✨
感谢优秀的你打开了小白的文章
“希望在看文章的你今天又进步了一点点,离美好生活更近一步!”🌈
🍉布局管理器
一个 GUI 应用程序必然有大量的组件,这些组件如何排布呢?这时候,就需要使用 tkinter 提供的布局管理器帮助我们组织、管理在父组件中子组件的布局方式。tkinter 提供了三种管理器:pack、grid、place。
🍉grid 布局管理器
grid 表格布局,采用表格结构组织组件。子组件的位置由行和列的单元格来确定,并且可以跨行和跨列,从而实现复 杂的布局。
🍉grid()方法提供的选项
| 选项 | 说明 | 取值范围 |
| column | 单元格的列号 | 从 0 开始的正整数 |
| columnspan | 跨列,跨越的列数 | 正整数 |
| row | 单元格的行号 | 从 0 开始的正整数 |
| rowspan | 跨行,跨越的行数 | 正整数 |
| ipadx, ipady | 设置子组件之间的间隔,x 方向或者y 方向,默认单位为像素 | 非负浮点数,默认 0.0 |
| padx, pady | 与之并列的组件之间的间隔,x 方向或者 y 方向,默认单位是像素 | 非负浮点数,默认 0.0 |
| sticky | 组件紧贴所在单元格的某一角,对应于东南西北中以及 4 个角 | “n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center”(默认) |
🍉运行实例
from tkinter import *
from tkinter import messagebox
import random
class Application(Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.createWidget()
def createWidget(self):
"""通过grid布局实现登录界面"""
self.label01 = Label(self,text="您的账户名称")
self.label01.grid(row=0,column=0)
self.entry01 = Entry(self)
self.entry01.grid(row=0,column=1)
Label(self,text="(手机号)").grid(row=0,column=2)
Label(self, text="密码").grid(row=1, column=0)
Entry(self, show="*").grid(row=1, column=1)
Button(self, text="登录").grid(row=2, column=1, sticky=EW)
Button(self, text="取消").grid(row=2, column=2, sticky=E)
if __name__ == '__main__':
root = Tk()
root.geometry("400x90+200+300")
app = Application(master=root)
root.mainloop()
🍉 结果:

🚀往期回顾
📣GUI 图形用户界面编程(一): (278条消息) GUI 图形用户界面编程(一)_am_student的博客-优快云博客
📣GUI 图形用户界面编程(二):
(278条消息) GUI 图形用户界面编程(二)经典案例_am_student的博客-优快云博客
📣GUI 图形用户界面编程(三):
(278条消息) GUI 图形用户界面编程(三)基本框架与Label的使用_am_student的博客-优快云博客
📣GUI 图形用户界面编程(四):
(278条消息) GUI 图形用户界面编程(四)-Button组件_am_student的博客-优快云博客
📣GUI 图形用户界面编程(五):
(357条消息) GUI 图形用户界面编程(五)-登录页面_am_student的博客-优快云博客
更多有趣的请关注公众号:
404





