Python教程 - Tkinter布局

Tkinter提供了三种布局管理方式:pack、grid和place。pack布局按照上下左右填充;grid布局将窗口划分为网格定位控件;place布局允许绝对位置设置,使控件置于指定坐标。每种方法都有其适用场景,可以根据需求选择合适的布局策略。

之前的Tkinter教程中,我们创建的控件默认都是从上到下依次排列的。实际上,我们可以完全控制每个控件的位置。

Tkinter主要提供pack、grid、place三种布局方法。

pack布局

pack布局,也叫填充布局,是Tkinter中最基本的布局。
布局方式为按照上下左右的方向去填充控件。
示例:


拖动窗口边框改变窗口大小,控件相对于窗口的位置不变

完整代码:

import tkinter

main = tkinter.Tk()
main.geometry("300x300")

b1 = tkinter.Button(main, text='b1')
b1.pack(side='top')

b2 = tkinter.Button(main, text='b2')
b2.pack(side='bottom')

b3 = tkinter.Button(main, text='b3')
b3.pack(side='left')

b4 = tkinter.Button(main, text='b4')
b4.pack(side='right')

main.mainloop()

grid布局

grid布局,也叫网格布局,将窗口划分为网格,然后通过第几行第几列去放置控件
示例:


改变窗口大小不会影响控件的位置
完整代码:

import tkinter

main = tkinter.Tk()
main.geometry("300x300")

b1 = tkinter.Button(main, text='b1')
b1.grid(row=0,column=0)

b2 = tkinter.Button(main, text='b2')
b2.grid(row=0,column=1)

b3 = tkinter.Button(main, text='b3')
b3.grid(row=1,column=0)

b4 = tkinter.Button(main, text='b4')
b4.grid(row=1,column=1)

main.mainloop()

place布局

place布局,也可以叫绝对位置布局,将控件放置在指定的x坐标和y坐标对应的位置上,可以随意指定
示例:


改变窗口大小也不会影响控件的位置
完整代码:

import tkinter

main = tkinter.Tk()
main.geometry("300x300")

b1 = tkinter.Button(main, text='b1')
b1.place(x=0,y=0)

b2 = tkinter.Button(main, text='b2')
b2.place(x=40,y=40)

b3 = tkinter.Button(main, text='b3')
b3.place(x=80,y=80)

b4 = tkinter.Button(main, text='b4')
b4.place(x=120,y=120)

main.mainloop()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值