界面布局管理
Python定义了3种界面布局管理方式。
1. pack布局
pack布局管理方式按组件的创建顺序在容器区域中排列。
pack的常用属性有side和fill。
side属性:其取值为'top'、'bottom'、'left'、'right',分别表示组件排列在上、下、左、右的位置。默认为top。
fill属性:其取值为'x'、'y'、'both',分别表示填充x(水平)或y(垂直)方向的空间。
2. place布局
place布局管理方式为指定组件的坐标位置排列,这种排列方式又称为绝对布局。
3. grid布局
grid布局管理方式为网格布局,组件放置在二维表格的单元格中。
grid布局的常用属性有:row(行)、column(列)、rowspan(组件占据行数)、columnspan(组件占据列数)。
【例5】布局示例。
from tkinter import Tk,Label
win = Tk()
# 80x80为窗体大小,10+10为窗口显示位置
win.geometry('80x80+10+10')
win.title(' 窗体的布局示例 ')
# '''
L1=Label(win, text = '1 录入信息', bg = 'red')
L1.pack(fill = 'y')
L2=Label(win, text = '2 修改信息', bg = 'green')
L2.pack(fill = 'both',side='left')
L3=Label(win, text = '3 统计信息', bg = 'pink') # blue
L3.pack(fill = 'x',side='bottom')
L4=Label(win, text = '4 感谢!', bg = 'pink')
L4.pack(fill = 'x', side='right')
#【例5】布局示例-左右方式布局。
from tkinter import Tk,Label
win = Tk()
#180x180为窗体大小,10+10为窗口显示位置
#左右方式布局
win.geometry('180x180+10+10')
win.title(' 窗体的布局示例 ')
L1=Label(win, text = 'L1', bg = 'red')
L1.pack(fill = 'y', side = 'left')
L2=Label(win, text = 'L2', bg = 'green')
L2.pack(fill = 'both', side = 'right')
L3=Label(win, text = 'L3', bg = 'blue')
L3.pack(fill = 'x', side = 'left')
# 绝对布局
L4 = Label(win, text = 'L4',bg = 'pink')
L4.place(x = 60, y = 20, anchor = 'nw')
#【例5】布局示例--网格布局
from tkinter import Tk,Label
win = Tk()
# 80x80为窗体大小,10+10为窗口显示位置
win.geometry('80x80+10+10')
win.title(' 窗体的布局示例 ')
# Grid 网格布局
L1 = Label(win, text = '局L1', bg = 'red')
L2 = Label(win, text = '局L2', bg = 'pink')
L3 = Label(win, text = '局L3', bg = 'green')
L4 = Label(win, text = '局4', bg = 'yellow')
L5 = Label(win, text = '局L5', bg = 'purple')
L6 = Label(win, text = '局6', bg = 'blue')
L1.grid(row = 0, column = 0)
L2.grid(row = 1, column = 0)
#row为网格的行,column为网格的列
L3.grid(row = 1, column = 1)
L4.grid(row = 2 )
L5.grid(row = 0, column = 3)
L6.grid(row =2, column = 4)
win.mainloop()


