【 tkinter 模块 12 】 布局

绝对布局

 

  •  窗口的大小变化对控件位置没有影响

 

  •  代码内容
import tkinter

# 创建主窗口
win = tkinter.Tk()

# 设置标题
win.title('绝对布局')

# 设置大小和位置,前两个x大小 后两个+位置
win.geometry('400x400+500+200')

label1 = tkinter.Label(win,text='first',bg='red')
label2 = tkinter.Label(win,text='second',bg='yellow')
label3 = tkinter.Label(win,text='第三个',bg='blue')

# 绝对布局 窗口的变化对位置没有影响
label1.place(x=10,y=10)
label2.place(x=50,y=50)
label3.place(x=100,y=100)

# 进入消息循环
win.mainloop()

 

  •  代码示例图

 

  • 代码解析
  1.  设置了三个 Label 标签
  2. 使用 place 方法放在了固定的位置

 

相对布局

 

  • 控件位置会根据窗口的变化而变化

 

  • 代码内容
import tkinter

# 创建主窗口
win = tkinter.Tk()

# 设置标题
win.title('绝对布局')

# 设置大小和位置,前两个x大小 后两个+位置
win.geometry('400x400+500+200')

label1 = tkinter.Label(win,text='first',bg='red')
label2 = tkinter.Label(win,text='second',bg='yellow')
label3 = tkinter.Label(win,text='第三个',bg='blue')

# 相对布局 根据窗口的变化而变化
label1.pack(fill=tkinter.Y,side=tkinter.LEFT)
label2.pack(fill=tkinter.X,side=tkinter.TOP)
label3.pack(fill=tkinter.Y,side=tkinter.RIGHT)


# 进入消息循环
win.mainloop()

 

  • 代码示例图

 

  • 代码解析
  1. 设置三个 Label 控件
  2. 第一个纵向填充( Y ),并且放在窗口的左侧
  3. 第二个横向填充( X ),并且放在窗口的顶端
  4. 第三个纵向填充( Y ),并且放在窗口的右侧

 

表格布局

 

  • 在窗口中分行分列显示

 

  • 代码内容
import tkinter

# 创建主窗口
win = tkinter.Tk()

# 设置标题
win.title('绝对布局')

# 设置大小和位置,前两个x大小 后两个+位置
win.geometry('400x400+500+200')

label1 = tkinter.Label(win,text='first',bg='red')
label2 = tkinter.Label(win,text='second',bg='yellow')
label3 = tkinter.Label(win,text='第三个',bg='blue')
label4 = tkinter.Label(win,text='第4个',bg='purple')

label1.grid(row=0,column=0)
label2.grid(row=0,column=1)
label3.grid(row=1,column=0)
label4.grid(row=1,column=1)

# 进入消息循环
win.mainloop()
  • 代码示例图

 

  • 代码解析
  1. 设置 4 个 Label 标签
  2. 第一个 Label 放置在 0 行 0 列
  3. 第二个 Label 放置在 0 行 1 列
  4. 第三个 Label 放置在 1 行 0 列
  5. 第四个 Label 放置在 1 行 1 列

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值